改变TButton控件的形状(100分)

  • 主题发起人 主题发起人 herotjun
  • 开始时间 开始时间
H

herotjun

Unregistered / Unconfirmed
GUEST, unregistred user!
我做了一个控件,从TButton继承,希望能改变它的形状,所以我想重载paint方法,但我发现它
没有paint方法,却有一个paintwindow方法,我就在paintwindow中加入自己的paint方法,确实
可以改变它的形状(我将它做成圆角矩形),但有一个问题,当我点击它的时候,Button原来的
形状出现了,不知何故.那么系统到底是在哪个方法中绘制控件形状的,从我的情况来看,似乎
我并没有捕捉到绘制控件的方法,那么象Button这样的系统中的一些传统控件,window是如
绘制它的形状的,分别需要响应一些什么消息,希望各位高手指点.
 
下载相关的控件不行吗?
 
WINDOWS 用的是API函数,好象是 CREATEWINDOWS 什么的,我也记不清了,你去查一下,
网上也有很多这样的 形状 按钮,还有源代码,你可以下载
 
像TButton这种控件API函数建的,不是你想画成什么样就画成什么样的。
你要想做特殊形状的Button我看还是从TCustomControl和TGraphicControl继承比较好
 
不能从Tbutton继承,应该从Twincontrol继承,然后绘制
 
简单!
SetWindowRgn
 
本人喜欢挑战,不愿去使用什么控件,要用也要事先看懂源码才用。
不过我已经知道了,是可以从TButton继承的,只是继承的方法不对。
这里就暂不给分了
 
名位还有何高见,请继续,免得浪费我的money
呜呜。。。。我的money
 
改成自绘方式.处理所有的绘制事件.
 
当点击时,是不是发生了repaint事件,使按钮的原来面目又刷出来了。放个timer控件可以吧
不过,太浪费资源了[:(]
 
NoSwing的思路倒是正确的,这100分就给你吧,其他人要努力哟
 
从Twincontrol继承是最好的
 
后退
顶部