win32 修改窗口属性


FUNCTION long SetWindowLong(ulong hWnd, integer nIndex, ulong dwNewLong) library "user32.dll" ALIAS FOR "SetWindowLongA"

起作用的窗口作为句柄hwindow被传递。nidex用来指定需要修改窗口的什么区域,如果用户希望修改
样式,该值总是(-16),inewvalue变量是新样式的位表示。
windows常量 数值 描述
____________________________________________________________
ws_border 8388608 窗口具有正常的边框
ws_caption 12582912 窗口具有标题栏
ws_dlgframe 4194304 窗口无标题栏
ws_ex_topmost 8 窗口出现在所有的非顶层窗口之上.
ws_ex_transparent 32 窗口之下的任何窗口都不会被该窗口遮盖
ws_hscroll 1048576 窗口具有水平滚动条
ws_maximize 16777216 窗口具有最大化状态
ws_maximizebox 65536 窗口具有最大化按钮
ws_minimize 536870912 窗口具有最小化状态
ws_minimizebox 131072 窗口具有最小化按钮
ws_overlapped 0 窗口具有标题和边框
ws_popup 2147483648 作为弹出式窗口来创建
ws_sysmenu 524288 窗口的标题栏具有系统菜单框
ws_thickframe 262144 窗口具有可缩放的厚边框
ws_vscroll 2097152 窗口具有垂直滚动条
______________________________________________________________________
上表列出的常量可以通过累加数值的方式来组合。
在修改当前窗口的样式之前,先要获得当前的设置,必须使用另一个API函数getwindowslong()
该函数申明如下:

//win32
FUNCTION long GetWindowLong(ulong hWnd, integer nIndex) library "user32.dll" ALIAS FOR "GetWindowLongA"
EXAMPLE://通过添加最小化按钮并删除最大化按钮来修改已有窗口 

integer gwl_style=-16
long oldstyle
oldstyle=getwindowlong(hWnd,gwl_style)
setwindowlong(hWnd,gwl_style,oldstyle|ws_maximzebox|ws_minimizebox)

你可能感兴趣的:(C)