只要重载OnPaint事件就可以了。爱怎么画就怎么画。
解决方案 »
- 一个网页中ocx控件,如何在Delphi中调用
- 怎么把scktsrvr.exe的源码和我的中间层服务器做在一起?
- 关于断开数据库连接的问题!
- 接着散分!面对她,我可以脱离单身,但是我现在一直在犹豫......因为我家比较穷!
- 我用Tquery查询数据结果显示在DBGrid中,怎么不能修改呢?
- 简单问题,大家解救,在线等待
- 帮忙解决一个简单的SQL问题要好多钱给好多!!!
- 问个老问题,怎样使一个窗体create后显示出来显示在屏幕的中间。
- 如何delete 多个表查询出来的dbgrid中数据?,在线等待,急急
- 怎么通过nmhttp提交自己的用户名密码?
- -=-=-=-=-=-=-=-添加数据时出现KEY VIOLATION ,如何考虑出错原因啊? -=-=-=-=-=-=-=-
- 倡议:论问题分类应该实行〈如(图象、数据库、控件、消息...)等〉
我的绘制是要重载类库OnPaint已经是应用级的代码了Sorry
是呀,但是你重载paint函数就可以了呀
要能绘制自身的控件组
一定要自己控制ControlStyle属性
但是这个属性的单项集合必须与其他属性配套使用这个问题是有一定难度的
希望高手发言 :)
自己的Code中是不能用
Include(FControlState,[csCustomPaint]);
可以用一个TmpConstrolState来处理2、窗体变更消息有多少
如WM_SIZE和WMWindowPosChanged、CMCOLORCHANGED之类
设置Align又是怎么起作用的呢
<alClient>当父控件变大缩小时发出多少消息:)
2 只要用Refresh()就可以通知所有的控件组刷新呀?
= Procedure Refresh;
Effect
Repaints the control on the screen.
Description
Call Refresh method to repaint the control immediately.
Refresh calls the Repaint method. Use the Refresh and
Repaint methods interchangeably. 但是,其实只有TWinControl=Class(TControl)及其派生类才是
可以容纳其他控件的类。所以,逻辑上TControl的Refresh最多是通
知所有的控件重绘,并不能通知"所包含"的控件集合重绘。
从TWinControl类是所有窗口类的基类出发,可以把它当成是一个
窗口,用消息的方式进行控制。所以需要查找到影响重绘的消息机制。 现在我已经采用其他的办法在自己定制的部件上放置了类似控件的
东西来操纵图形,但是在Code的过程中遇到的这个问题很有钻头,特
别弄出来大家一起提高提高吧:)
>>知所有的控件重绘,并不能通知"所包含"的控件集合重绘
看了半天也没搞清楚你想做什么操作。
能帖些代码出来看看吗?
但是TWinControl的Refresh已经重载了Refresh,会自动通知其所包含的控件重绘。
我这里“包含”的意思是Parent为该控件的控件。
例如:TChildControl.Parent := TParentControl;
TParentControl.Refresh; //会自动通知TChildControl做重绘操作。
逻辑上TControl的Refresh最多是通知窗口上的所有控件重绘
而不是通知该TControl包含的子控件集合重绘另外,Refresh将会发出什么样的控制消息呢?