让Btn可以得到焦点(急!!!)(200分)

  • 主题发起人 主题发起人 jilina
  • 开始时间 开始时间
J

jilina

Unregistered / Unconfirmed
GUEST, unregistred user!
各位大虾,我有个问题,就是一个从TGraphicControl继承下来的按钮我想让它可以得到焦点,
我该怎么改呀,应该考虑那些问题。不胜感激。
 
TGraphicControl不是从TwinControl继承来的不能得到焦点,你可以从TCustomControl继承下来做按钮[:D]
 
可是我现在只能改不能重写,所以看看有没有改的办法
 
你不是扯淡吗,焦点需要 Window Handle 属性,没有 Handle 你那里来的焦点,改为
TWinControl 是正途
 
我可以肯定的告诉你,从TGraphicControl下继承的控间是不可能有焦点的,你可以想别的办法
比如向TLabel一样有一个ForucControl
 
比如向TLabel一样有一个ForucControl,可不可以说的明白一点,谢谢
 
相对的,改一下继承的祖先,倒是更容易些,改几个字母就可以了,
把不兼容的方法改成兼容TCustomControl的
如果地基打错了,光改上面有什么用啊?
 
我也是想不通你是如何将它改成按钮的。没有句柄,如果聚焦呀
 
改祖先是正途!!!!!!!!!
 
对了,
我也这么认为~~~~
别无它法呀~~~~~~~
赶快行动~~~~~~~~~~
 
投错胎了
:)
 
谢谢大家,问题解决了,没有重写,还是改,不过费了好大劲。
 
公布答案啊
 
我的办法可能是有点走弯路了,我是在这个btn的后面放了panel(与btn大小位置完全一致),
这样可以让panel获得焦点,在获得焦点后在btn上画出效果,并在panel上触发btn的单击
事件。这样看起来就好像是btn获得了焦点并能响应事件了。
上面是原来的做法。后来在程序中没有真正用这个,真正使用的改基类的做法,因为虽然TWINCONTROL
没有canvas但是他的子类TCustomControl有,所以我就把Btn的基类改成了TCustControl,这样
就可以了,只是需要自己画焦点的效果。
 
后退
顶部