Delphi ControlState和ControlStyle属性详解
ControlState 属性
对应对象:TControl
声明:TControlState = set of (csLButtonDown, csClicked, csPalette, csReadingState, csAlignmentNeeded, csFocusing, csCreating);
property ControlState: TControlState;
功能:ControlState属性用来查询控件运行时的状态。
ControlState属性用来指明运行的每一个时刻控件的状态。属性属于TControlState类型,这个类型是一个标志集,它可以被设置成为以下值的组合形式。
值 / 意 义
csLButtonDown / 点击鼠标的左按钮不放,这个是为所有的鼠标按下事件设置的。
csClicked / 和csLButtonDown一样,只是在ControlStyle属性包含csClickEvents标志时它才被设置,以说明鼠标按下时的事件。
csPalette / 说明一个WM_PALETTCHANGED信息被控件接受或者被控件的父类接受。
csReadingState / 控件正在从一个流中读取它的状态。
csAlignmentNeeded / 当队列再次被允许时控件需要重新排列它自己。
csFocusing / 应用程序过程焦点送给控件。这不能保证控件就将收到焦点,但是防止了递归的调用。
csPaintCopy / 控件被复制,意味着控件的拷贝被打印,控制风格标记csReplicatable必须被设置为该状态的发生。
csCreating / 框架和它的所有者发生“与”或者“或”的逻辑,并且控件被创建了。这个标记将在所有的创建动作完成时被清除。
ControlStyle 属性
对应对象:TControl
声明:TControlStyle = set of (csAcceptsControls, csCaptionMouse, csDesignInteractive, csFramed, csClickEvents, csSetCaption, csOpaque, csDoubleClicks, csFixedWidth, csFixedHeight, csNoDesignVisible, csReplicatable, csNoStdEvents, csDisplayDragImage, csReflector);
property ControlStyle: TControlStyle;
功能:ControlStyle属性用来说明激活一个控件的哪些属性。
ControlStyle属性方式被改变的次数比相应ControlState属性的标记要少。ControlStyle属性属于TControlStyle的类型,它可以是以下值的组合。
值 / 意 义
csAcceptsControls / 接受上面的控件。
csCaptureMouse / 当这个事件发生时,控件捕获鼠标的事件。
csDesignInteractive / 控件在设计时将鼠标按钮的右击映射为鼠标按钮的左击来控制控件。
csClickEvents / 控件可以接受并且对按击的操作进行反应。
csFramed / 控件有一个三维框架。
csSetCaption / 如果标题还没有被明确地设置成为其他
相关文档:
我一开始以为,将表单设置为隐藏,可以在表单创建事件中即FormCreate(Sender:TObject)去设置
因此, 我在这个procedure TForm.FormCreate(Sender:TObject)中,
想用一下两种方式实现
即:
调用 from.Hi ......
有时需要使用透明控件用于捕获鼠标消息
1.调用Windows2000,xp新的API函数实现这一功能的过程。使用SetLayeredWindowAttributes
2.直接设置控件的alphablend,alphablendvalue,间接调用上述api.
3.使用TStaticText控件
procedure WMCtrlColor(var Message: TWMCtlColor); message WM_CTLCOLOR;
procedure TForm3.WMCtr ......
服务端:添加ADOConnection,ADOQuery1,ADOQuery2。设置ADOQuery1为主表,ADOQuery2为从表。(通过 ADOQuery2.SQL.Text:= 'select * from 从表 where FKID=:主表PKID'设置)。添加DataSetProvider1和DataSetProvider2分别连接到ADOQuery1和ADOQuery2。
客户端:添加ClientDataSet1,ClientDataSet2。ClientDataS ......
Unt_Machine_WebDll.pas
BODY {background: #FFFFFF}
A:link { color: #0000FF}
A:visited { color: #0000FF}
A:Active { color: #0000FF}
.bold {font-weight: bold}
.italic {font-style: italic}
.underline {text-decoration: underline}
unit Unt_Machine_WebDll;
{$WARN SYMBOL_PLATFORM OF ......
◇[DELPHI]产生鼠标拖动效果
通过MouseMove事件、DragOver事件、EndDrag事件实现,例如在PANEL上的LABEL:
var xpanel,ypanel,xlabel,ylabel:integer;
PANEL的MouseMove事件:xpanel:=x;ypanel:=y;
PANEL的DragOver事件:xpanel:=x;ypanel:=y;
LABEL的MouseMove事件:xlabel:=x;ylabel:=y;
LABEL的EndDrag事件:label ......