參考
視窗風格設定,後面兩個是最大最小化按鈕
dwstyle^ws_thickframe^ws_maximizebox^ws_minimizebox
訊息迴圈裡新增
case wm_nclbuttondown:
}break;
1.設定視窗位置和大小
setwindowpos(
hwnd: hwnd; 視窗控制代碼
hwndinsertafter: hwnd或者乙個unit; 視窗的 z 順序
x, y: integer; 位置
cx, cy: integer; 大小
uflags: uint 選項
): bool;
//hwndinsertafter 引數可選值:
hwnd_top = 0; 在前面,能用top就不要用topmost,topmost即使是不啟用狀態也會擋住別的啟用的視窗
hwnd_bottom = 1; 在後面
hwnd_topmost = hwnd(-1); 在前面, 位於任何頂部視窗的前面
hwnd_notopmost = hwnd(-2); 在前面, 位於其他頂部視窗的後面
//uflags 引數可選值:
swp_nosize = 1; 忽略cx、cy,保持大小
swp_nomove = 2; 忽略x、y,不改變位置
swp_nozorder = 4; 忽略hwndinsertafter,保持z順序
swp_noredraw = 8; 不重繪
swp_noactivate = 0x10; 不啟用
swp_framechanged = 0x20; 強制傳送wm_nccalcsize訊息,一般只是在改變大小時才傳送此訊息
swp_showwindow = 0x40; 顯示視窗
swp_hidewindow = 0x80; 隱藏視窗
swp_nocopybits = 0x100; 丟棄客戶區
swp_noownerzorder = 0x200; 忽略hwndinsertafter,不改變z序列的所有者
swp_nosendchanging = 0x400; 不發出wm_windowposchanging訊息
swp_drawframe = swp_framechanged; 畫邊框
swp_noreposition = swp_noownerzorder;
swp_defererase = 0x2000; 防止產生wm_syncpaint訊息
swp_asyncwindowpos = 0x4000; 若呼叫程序不擁有視窗,系統會向擁有視窗的執行緒發出需求
2.獲取視窗位置和大小
getwindowrect(hwnd hwnd, lprect lprect );//獲得視窗相對螢幕的大小
getclientrect(hwnd hwnd, lprect lprect );//獲得視窗相對客戶區的大小
getsystemmetrics(sm_cxscreen);//獲取螢幕大小
getsystemmetrics(sm_cyscreen);
win32視窗樣式
private const gwl style 16 視窗樣式 private sub command1 click orstyle end sub private sub orstyle dim lstyle as long lstyle getwindowlong me.hwnd,gwl sty...
WIN32視窗建立
win32視窗建立過程 1 定義視窗類 在msdn中找到函式原型 winmain 2 定義視窗處理函式 在msdn中找到原型 windowproc 3 設計視窗類 4 註冊視窗類 registerclass registerclas 5 建立視窗 createwindow createwindowe...
win32繪製視窗
static int cxclient,cyclient 宣告兩個變數存放滑鼠 x,y 座標.在下面,我們為這兩項賦值時,loword lparam 代表取 lparam 的低 16 位,hiword lparam 代表取lparam 的高 16 位,在 lparam 中存放的實際就是滑鼠的位置,低...