我发现通过继承TWinControl的类,有二种重绘界面的方法:
1、编写消息函数
Procedure WMPaint(var Msg:TWMPaint);Message WM_PAINT;
消息程序可达到自动刷新界面。
2、覆盖TWinControl的DefaultHandle子程序也可达到此目的。我相请问高手,它们有什么不同?有什么值得注意的?
1、编写消息函数
Procedure WMPaint(var Msg:TWMPaint);Message WM_PAINT;
消息程序可达到自动刷新界面。
2、覆盖TWinControl的DefaultHandle子程序也可达到此目的。我相请问高手,它们有什么不同?有什么值得注意的?
解决方案 »
- 高分求助FTP传输程序 出现 "I/O error 103" 分不够可以再给
- 如何进行大量的数据替换??
- 如何得到当前进程所在的路径?
- 在2k,xp下的进程隐藏问题(非dll注入)
- 求将数字金额转化为中文金额的函数?
- 搞了半天没搞定的问题,大家帮忙了。。。。。。。。。。。。。。
- 怎样取到两个日期差多少天?
- 为什么在Tidtcpserver中将Actvie置成了False,客户端并未断开??(小女子初入门,多多指教啊:)
- 请教:分离汉字和E文,数字。
- 一个常见的关于数据统计的一个问题(急)
- ■■■如何解决用TIcon.saveToFile保存的图标仅有16色的问题?■■■
- 安装程序制作,及一个小问题
应该是Repaint子程序触发WM_PAINT消息.请大家回答标题的问题与内容的问题.
DefaultHandle的功能类似于WndProc,原本是用来处理WndProc中不能处理的消息。
WM_Paint是由DefaultHandle处理并传递给WndProc然后才是WM_Paint。
控件的基本绘制应该是在父类的WM_Paint中进行的。至于在WM_Paint中调用repaint还是什么其它的就是具体绘制的事儿了。