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