我想扩展TSpeedButton使其能够有SetFocus属性,请问得怎么办呢?

delphi2java 2004-04-16 02:55:27
我想扩展TSpeedButton使其能够有SetFocus属性,请问得怎么办呢?

===================================
TSpeedButton没有SetFocus方法,在TWinControl中含有SetFocus方法,我想把TWinControl.SetFocus移到TSpeedButton中,使TSpeedButton拥有TSpeedButton.SetFocus方法,请问得怎么继承?
...全文
61 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
delphi2java 2004-04-27
  • 打赏
  • 举报
回复
blazingfire:这只是一个例子。我是想写组件,不是想使用组件。想难想像你是两颗星星的前辈!!
blazingfire 2004-04-18
  • 打赏
  • 举报
回复
好笑!
用TBitBtn不就OK了吗
SpeedButton不是从TGraphicControl下继承的吗?
miky 2004-04-18
  • 打赏
  • 举报
回复
不难办,把Vcl关于SpeedButton的那些代码Copy出来,新做个unit;
然后把TSpeedButton的父类改掉,改成上面几位所说的TCustomControl,TPanel之类的。
然后运行调试,一会工夫就做好了。
SydPink 2004-04-18
  • 打赏
  • 举报
回复
TMySpeedBtn=(TCustomControl)
pvivate
procedure WMSETFOCUS(var msg:TMessage);message WM_SETFOCUS;
procedure WMKILLFOCUS(var msg:TMessage);message WM_KILLFOCUS;
procedure CMMOUSEENTER(var msg;TMessage);message CM_MOUSEENTER;//鼠标进入
procedure CMMOUSELEAVE(var msg;TMessage);message CM_MOUSEELEAVE;//鼠标退出

protected
procedure paint;override;
........
procedure TMySpeedBtn.Paint;
begin
with Canvas do
begin
//TCustomControl 有Canvas,你直接画外观就是了.
end;
end;
........
SydPink 2004-04-18
  • 打赏
  • 举报
回复
不可能!

TSPeedButton不是TWinControl的子类.没有HANDLE,也就无法聚焦.
类似功能的button你只能从TCustomButton或者从TCUstomControl继承.
delphi2java 2004-04-18
  • 打赏
  • 举报
回复
这个问题没办法解决吗?

没人理?自己UP了..

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧