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)
發佈了34 篇原創文章 · 獲贊 1 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章