首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >修改VCL组件

修改VCL组件
EN

Stack Overflow用户
提问于 2011-08-15 18:30:56
回答 3查看 811关注 0票数 1

可能重复:

Replacing a component class in delphi

有谁有修改VCL组件并使它们在IDE中相对默认的技巧吗?这意味着不一定从它们下降,而是在似乎不允许子代对象中这样的东西的地方改变功能。如果可以用它们来代替标准组件,那也是一种奖励。

例如,我想要做的事情之一是在TButton上使用alpha混合鼠标。我注意到没有OwnerDraw事件,修改按钮绘制方式的代码似乎不在我可以覆盖的位置。有什么建议吗?还是我必须将TButton及其所有祖先从VCL代码中删除并直接修改它?

EN

回答 3

Stack Overflow用户

发布于 2011-08-15 18:43:48

您可以选择下列方法之一:

窗体的here

  • Use

  • 覆盖窗体的ReadState,如解释的here.

是插入类,解释为here,而是新的WindowProc,解释为here.

票数 3
EN

Stack Overflow用户

发布于 2011-08-15 20:07:44

您正在提出几个与开发自定义V.C.L.控件相关的问题。

因为,这是一个非常广泛的话题,你可能想浏览或搜索关于它的互联网。

作为一个快速的问题,有几种方法可以开发或扩展控件。

有时,相同的控件可以以不同的方式开发,另一些则取决于您想要开发的控件的种类。

你还提到了如何做一个控件,与Delphi的I.D.E交互。

Delphi控件与包一起工作,您可以在没有控件的情况下使用普通库生成包,在生成控件之前,您可能需要开始这样做。

您可以创建一个控件,它根本不交互,只能通过运行应用程序来工作,然后再添加与DelphiI.D.E的交互。

在Delphi中,当您开发一个控件并希望将它放在表单上时,在内部设计时,它就像Delphi一样是您的应用程序,并且已经拥有了您的控件。

票数 1
EN

Stack Overflow用户

发布于 2011-08-16 02:30:51

如果您想要更改应用程序中所有TButtons的外观,则可以在不修改VCL的情况下这样做。当有几百个按钮组件存在时,我认为没有必要自己修改甚至子类VCL控件。例如,对于α混合鼠标,只需查看TMS控件即可。

但是,对于自己动手的技术,方法一(推荐为简单的)是将应用程序中的所有TButtons都从应用程序中删除,然后用其他方法替换它。VCL组件替换(全局)是通过gExperts轻松完成的。要了解如何将标准控件外观(按钮的外观)与德尔菲代码中绘制的一些覆盖元素结合起来,请参阅TBitBtn作为示例。与其子类TButton或TCustomButton,我建议您检查TBitBtn源,并从它开始。

方法二(不推荐简单)是开始使用与标准控件完全不同的外观的剥皮系统。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7069000

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档