300分相送,只求大家给出完整的答案!!!最高只能这么多了(300分)

  • 主题发起人 主题发起人 Turkey2002
  • 开始时间 开始时间
T

Turkey2002

Unregistered / Unconfirmed
GUEST, unregistred user!
我的总分只有320,一个问题最高300分,我就拿300分出来了!!<br><br>要实现的效果:(要解决的问题)<br>&nbsp; &nbsp; 1。按钮在普通状态下是平的,当鼠标移上去的时候,按钮凸起来,当鼠标移开<br>的时候又恢复为普通状态下的平的。其它时候的状态还是普通按钮原有的状态。总的<br>来说,效果和将SpeedButton的flat属性设为true时的效果,按钮颜色和黑背景一样的,<br>为黑色,或者透明,直接显示背景色。<br>&nbsp; &nbsp; 2。让Label具有超级链接的效果。即当鼠标移到指定的Label上时,鼠标指针变成<br>hand状态,同时Label中的文字颜色改变(如果能渐变就更好,意思就是缓缓的变成指<br>定的颜色),当鼠标移开的时候,Label的文字恢复为普通状态。<br><br>对实现效果的要求:<br>&nbsp; &nbsp; 1。应为我的程序是完全用win32api写的,没有任何form,所以,所有的效果只能用<br>win32api来写,另外只能uses Windows,Classes,Messages,shellapi,如果uses这些文件<br>实在不行,当然可以加,不过宗旨就是uses最少的文件!!<br>&nbsp; &nbsp; 2。我在同一个界面下有多个Label要实现超级链接的效果,且指向不同的网址,我希望<br>只用一个子类化过程来实现,而不是对每个Label都写个子类化过程。<br><br>对大家回答的要求:<br>&nbsp; &nbsp; 1。我比较的菜,所以希望看到完整的实现代码,也就是我那过来不需要修改就能直接<br>用的。<br>&nbsp; &nbsp; 2。希望有比较详细的注释,越详细越好,毕竟学到知识才是最重要的。<br><br>最后的一些话:<br>&nbsp; &nbsp;我拿我的全部分数付送,虽然不多,如果嫌不够,开个数,我会在以后慢慢不上,当然,不能<br>开个天价给我,呵呵。本人绝不食言!!<br>&nbsp; &nbsp;
 
把程序功能说说。<br><br>我给你做!
 
程序整体我已经写好了,但我是一个追求完美的人。<br>我的程序整个界面就是一个背景色为黑色的对话框,让Label具有url功能这个问题其实<br>我自己已经解决了,只是不知道改变颜色,另外呢,也是一个Label就写了一个子类化<br>过程,老是觉得不爽,所以要把这个问题解决掉。<br>关于按钮,应为我的整个界面是一种平面的风格,颜色也只有黑色和白色,当我把按钮<br>设置成平面的风格后,运行时却被自动加了一个白色的框框,超级难看。所以。。。。<br>zyf23,如果你能帮我解决这个问题,我将非常感激你,非常非常感激,如果不便在此<br>发表,请email到:ete@eyou.com<br>谢谢,同时也请其它的高手踊跃来拿分!!<br><br>
 
晕死,下去2小时,帖子狂跌到第9页,晕。。。。<br>人气这么旺,怎么就没有高手相助???
 
1.  要有类似WIN98那样指向字体,该字体就出现下划线,鼠标指针变为一支手指,按下后就打开浏览器或邮件编写器的功能,按下列办法做(该方法只是在前面讲的实现超链接的方法上加入一些效果):<br>  先在一个窗体中加入一个Label1,加入下列代码<br>procedure TForm1.Label1MouseMove(Sender: TObject;shift:Tshiftstate;x,y:integer);<br>begin<br>Label1.Font.Style:=[fsbold,fsunderline];<br>Label1.Font.Color:=clYellow;<br>end;<br><br>procedure TForm1.FormMouseMove(Sender: TObject;shift:Tshiftstate;x,y:integer);<br>begin<br>Label1.Font.Style:=[fsbold];<br>Label1.Font.Color :=clmaroon;<br>end;<br><br>procedure TForm1.Label1Click(Sender: TObject);<br><br>begin<br>Shellexecute(handle,nil,pchar('mailto:guihong@163.net'),nil,nil,sw_shownormal);<br>end;<br>再将Label1.Cursor设为crHandPoint,Label1的OnMouseMove事件设为Label1MouseMove, Form1的OnMouseMove事件设为FormMouseMove,Label1的OnClick事件设为Label1Click,那么就这种效果了。<br>///////////////////////////////////////////////<br>///////////////////////<br>这方法最好<br>procedure TForm1.Label1Click(Sender: TObject);<br>begin<br>Shellexecute(handle,nil,pchar('mailto:guihong@163.net'),nil,nil,sw_shownormal);<br>end;<br><br><br>
 
请注意,我已经说明了:<br>对实现效果的要求:<br>&nbsp; &nbsp; 1。应为我的程序是完全用win32api写的,没有任何form,所以,所有的效果只能用<br>win32api来写,另外只能uses Windows,Classes,Messages,shellapi,如果uses这些文件<br>实在不行,当然可以加,不过宗旨就是uses最少的文件!!<br><br>我的程序中没有form,所以41426177说的方法不行,当然,在有form的情况下,这事正确的<br>也是很简单的事!!
 
分数不好赚呀,想赚300分还要给人当 长工算啦,我没那个福分。
 
啊,不是吧,没有要求当长工的意思啊,只是想解决这两个问题而已啊,要求都已经写清楚了啊<br>我没有做进一步的要求啊,可能要求是比较苛刻吧,但是我只有这么多分了,不然你要多少就<br>能给多少,直到我的分数为0
 
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;
 
纯API?<br>还不得累死,现在都什么年代了.
 
我倒,不同的要求,不同的环境下有不同的写法啊,我这程序对体检的要求非常严格,要控制在<br>100k以内,用了form,我想是无论如何都做不到100k以内的,况且我的程序中还有图片,目前<br>我的这个程序体检只有60多k,压缩后只有40多k了。拜托各位高手了。
 
API?<br>累!<br><br>300分?<br>300块还差不多[:D]
 
300分是可能少了,不过我已经没有分了,还剩30,要的话可以拿去!
 
这么多高手,居然没人帮我解决问题,不知道是不是应为分少的原因,如果是的话,我只有<br>关贴了,我无能为了。拜托各位了。下个星期一仍旧没有答案我就关贴了。
 
只有300分,各位只能分到一点了,见者有份,虽然不多。<br>谢谢各位的帮助!
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部