大悟还俗

邮箱 key_ok@qq.com 我的收集 http://pan.baidu.com/share/home?uk=1177427271
  新随笔  :: 联系 :: 订阅 订阅  :: 管理

Delphi:窗体的扩展样式GWL_EXSTYLE用于SetWindowLong

Posted on 2013-11-18 10:18  大悟还俗_2  阅读(1650)  评论(0编辑  收藏  举报

SetWindowLong(Handle, GWL_EXSTYLE, GetWindowLong(Handle, GWL_EXSTYLE) or
  WS_EX_TRANSPARENT or
  WS_EX_LAYERED );
  WS_EX_ACCEPTFILES = 0x00000010
  指明了一个已创建视窗具有拖拽文件功能
  WS_EX_APPWINDOW = 0x00040000
  强制一个可见的顶级视窗到工具栏上
  WS_EX_CLIENTEDGE = 0x00000200
  使一个视窗具有凹陷边框
  WS_EX_COMPOSITED = 0x02000000
  Windows XP:将一个窗体的所有子窗口使用双缓冲按照从低到高方式绘制出来,参阅remark项.如果这个视窗已经使用经典样式中的下列值CS_OWNDC , CS_CLASSDC,WS_EX_CONTEXTHELP.此参数将不能使用.
  这个样式的视窗在标题栏上有一个问号,当拥护点击着个问号,鼠标变成一个问号,如果用户然后点击一个子窗口,子窗就会收到一条WM_HELP消息.子窗口 将把这个消息传递给他的父进程,这个父进程将用HELP_WM_HELP命令调用WinHelp函数.这个帮助程序常常弹出一个典型的包含其子窗口的帮助 的窗口
  本参数不能和WS_MAXIMIZEBOX ,WS_MINIMIZEBOX一起使用
  WS_EX_CONTROLPARENT = 0x00010000
  这个窗体本身包含了参与对话框导航的子窗口.如果使用了这个参数,对话框管理器?入这个窗体的子窗口,当执行导航操作时,比如按住TAB键,方向键.
  WS_EX_DLGMODALFRAME = 0x00000001
  创建一个具有双边框的窗口,这个窗口可以通过使用WS_CAPTION样式被创建成具有一个标题栏的窗口.
  WS_EX_LAYERED = 0x00080000
  Windows 2000/XP:创建一个分层的窗口.注意,这不能用在子窗口上.同样,如果窗口具有CS_OWNDC ,CS_CLASSDC样式,这也不用使用.
  WS_EX_LAYOUTRTL = 0x00400000
  阿拉伯以及西伯来版本的98/ME,2000/XP创建一个水平起点在右边的窗口.越往左边水平坐标值变大.
  WS_EX_LEFT = 0x00000000
  创建一个窗口具有一般的左对齐属性.此为默认
  WS_EX_LEFTSCROLLBAR = 0x00004000
  如果外壳语言是西伯来,阿拉伯,或者其他阅读顺序的语言,竖滚动条将会在客户区的左边.对其他语言,此参数忽略.
  WS_EX_LTRREADING = 0x00000000
  窗体的文字按照从左到右排列.此为默认.
  WS_EX_MDICHILD = 0x00000040
  创建一个多文档界面的子窗口.
  WS_EX_NOACTIVATE = 0x08000000
  Windows 2000/XP:一个使用此参数创建的顶级窗口不会变成前台窗口,当用户点击他时.系统不会将此窗口放到前台,当用户最小化或者关闭这个前台窗口.
  要激活这样的窗口,使用SetActiveWindow或者SetForegroundWindow函数
  此类型的窗口默认不会显示在任务栏上.要强行将这样的窗口显示到任务栏上,使用WS_EX_APPWINDOW参数.
  WS_EX_NOINHERITLAYOUT = 0x00100000
  Windows 2000/XP:用此参数创建的窗体不会传递他的窗口布局给他的子窗口
  WS_EX_NOPARENTNOTIFY = 0x00000004
  指明一个使用此参数创建的窗口不发送WM_PARENTNOTIFY消息给他的父窗口当这个窗口被创建或者销毁的时候.
  WS_EX_OVERLAPPEDWINDOW = (WS_EX_WINDOWEDGE | WS_EX_CLIENTEDGE)
  联合了WS_EX_CLIENTEDGE and WS_EX_WINDOWEDGE styles
  WS_EX_PALETTEWINDOW = (WS_EX_WINDOWEDGE | WS_EX_TOOLWINDOW | WS_EX_TOPMOST)
  联合了WS_EX_WINDOWEDGE, WS_EX_TOOLWINDOW, and WS_EX_TOPMOST styles.
  WS_EX_RIGHT = 0x00001000
  窗口具有一般的右对齐属性.这要依靠这个窗口的类.这个样式只有外壳语言是西伯来语,阿拉伯语等其他阅读顺序的语言才有影响,否则此样式别忽略
  对文字标签或者编辑框使用WS_EX_RIGHT样式跟使用SS_RIGHT 或者 ES_RIGHT影响是一样的.对按钮使用这个样式跟使用BS_RIGHT 和BS_RIGHTBUTTON的影响是一样的
  WS_EX_RIGHTSCROLLBAR = 0x00000000
  竖直滚动条显示在客户区的右边.默认.
  WS_EX_RTLREADING = 0x00002000
  如果外壳语言是西伯来语,阿拉伯语等支持排列方式阅读的语言,窗体文字将按照从右到左的阅读顺序.对其他语言,此样式忽略.
  WS_EX_STATICEDGE = 0x00020000
  创建一个窗口具有三维边框用来表示一个项目不接受用户输入.
  WS_EX_TOOLWINDOW = 0x00000080
  创建一个工具窗口:也就是说,这个窗口被用来做浮动工具条.一个工具窗口具有一个比一般的标题栏短的标题栏,并且系统在标题栏使用小字体.作为工具窗口, 它不显示在工具栏上.当用户用ALT+TAB切换时也不出现在对话框中.如果一个工具窗有系统菜单,那么他的图标不会被显示在标题栏上.但是,你可以通过 键入ALT+TAB或者右键点击标题栏来显示系统菜单.
  WS_EX_TOPMOST = 0x00000008
  指明用此参数创建的窗口将会放在所有顶级视窗上并且停在最上面.即使这个窗口不是活动的.要添加或者移除他,使用SetWindowPos函数.
  WS_EX_TRANSPARENT = 0x00000020
  用此参数创建的的窗口在他同一线程的窗口被绘制前将不会被绘制.这个窗口透明的显示,因为同一线程的窗口已经绘制出来
  要脱离这个限制激活透明,使用SetWindowRgn函数.
  WS_EX_WINDOWEDGE = 0x00000100
  使一个窗口具有凸起的边框.