请教一个对高手来说不难的问题,控件编程高手请进!(系统不能给超过100分,问题解决后另加……) 我想从TControl继承访造Tedit控件。请问,Tedit的界面是如何画出来的?里面的光标是如何画出来的?当在里面输入东西时,又如何画出里面的字?最好是有代码或者例子。谢了! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 从TCUSTOMEDIT类进行继承,VCL有源程序。 直接从TControl继承要做的工作太多了,为什么不从TCUSTOMEDIT类进行继承? 是这样的的,TEdit是从TCUSTOMEDIT继承下来的,而TCUSTOMEDIT具有编辑框的特性是因为在TCUSTOMEDIT的CreateParams方法中设定了窗口类(在Windows中,窗口类决定了窗口是按钮、文本框、列表框还是其它的什么)。而光标、文字输出、选中的效果都是设定了编辑框窗口类后自动实现的。 不同过TCUSTOMEDIT继承的好处是你可以把编辑框做的像UltraEdit这样的灵活(比如行号、文本高亮显示等)但是我建议你应该从TWinControl继承而不是TControl。假设你是从TWinControl继承的,实现文本框特性的功能你需要自己一个个来实现,例如出现光标的效果,你就需要通过API函数CreateCaret创建一个光标,然后通过SetCaretPos设置光标的位置并且通过ShowCaret显示光标。至于文本的输出,你就需要重载WM_CHAR、WM_UNICHAR消息,获得用户敲的内容并且输出。 但是如果我要从TControl继承的话我如何实现? 那看来我要从TWinControl继承了。但我在这方面几乎没有什么经验,请有什么例子可供小弟研究研究吗? 请教打开 Access 数据库 delphi5.0 随机函数? 如何快速的将DATASET的数据转换到EXCEL中(在线等待) 关于文件复制:copyfile路径问题! FastReport运行Demo时出现错误! 学习下载的源代码。在单元文件的开始即 Unit XXXX前有如下一行"{$i c:\include.txt}",是什么意思? 如何将查询结果放到一个临时表中去(delphi+sqlserver2000)? 执行文件怎样带参数? 关于测试数据库的连接是否正常 如何把 Visual Foxpro 的表导入至 Access中 ??? C++结构类型 转 Delphi,怎么写?
假设你是从TWinControl继承的,实现文本框特性的功能你需要自己一个个来实现,例如出现光标的效果,你就需要通过API函数CreateCaret创建一个光标,然后通过SetCaretPos设置光标的位置并且通过ShowCaret显示光标。
至于文本的输出,你就需要重载WM_CHAR、WM_UNICHAR消息,获得用户敲的内容并且输出。
如果我要从TControl继承的话
我如何实现?
但我在这方面几乎没有什么经验,请有什么例子可供小弟研究研究吗?