建立win32視窗程式的步驟
建立win32視窗程式
構造視窗int winapi winmain(hinstance hinstance, hinstance hprevinstance, lpstr lpcmdline, int nshowcmd)
註冊視窗//winmain()
wndclas*** wndclass;
wndclass.cbcl***tra = 0;
wndclass.cbsize = sizeof(wndclas***);
wndclass.cbwndextra = 0;
wndclass.hbrbackground = null;
wndclass.hcursor = loadcursor(null, idc_arrow);
wndclass.hicon = null;
wndclass.hiconsm = null;
wndclass.hinstance = hinstance;
wndclass.lpfnwndproc = null;
wndclass.lpszclassname = l"glwindow";
wndclass.lpszmenuname = null;
wndclass.style = cs_vredraw | cs_hredraw;
建立和顯示視窗//winmain()
atom atom = registerclas***(&wndclass);
if (!atom)
先建立視窗,在顯示視窗,最後為了視窗能顯示正確,在重新整理一下視窗。
使用者操作//winmain()
//視窗大小為800x600,這裡的「視窗大小」包含視窗的外邊框。而不是視窗內部,除去邊框的視口大小
100, 100, 800, 600,
null, null, hinstance, null);
showwindow(hwnd, sw_show);
updatewindow(hwnd);
讓程式執行起來lresult callback glwindowproc(hwnd hwnd, uint msg, wparam wparam, lparam lparam)
return defwindowproc(hwnd, msg, wparam, lparam);
}//winmain()
wndclass.lpfnwndproc = glwindowproc;
修改視窗中視口的大小為指定的大小。比如800x600,通過計算後,windowwidth和windowheight為剛才指定的視口大小加上邊框。然後通過createwindowex建立視窗。//winmain()
msg msg;
while (true)
translatemessage(&msg);
dispatchmessage(&msg);
} }
rect rect;
rect.left = 0;
rect.right = 800;
rect.top = 0;
rect.bottom = 600;
int windowwidth = rect.right - rect.left;
int windowheight = rect.bottom - rect.top;
WIN32視窗建立
win32視窗建立過程 1 定義視窗類 在msdn中找到函式原型 winmain 2 定義視窗處理函式 在msdn中找到原型 windowproc 3 設計視窗類 4 註冊視窗類 registerclass registerclas 5 建立視窗 createwindow createwindowe...
建立乙個win32視窗程式
include stdafx.h 2hinstance g hinst null 3 視窗處理函式 lresult callback wndproc hwnd hwnd,視窗控制代碼 uint nmsg,視窗訊息id wparam wparam,訊息傳來的兩個引數 lparam lparam 返回預...
win32開發(建立子視窗)
在win32中,有的時候需要建立額外的子視窗。所謂子視窗的概念,就是視窗本身不會超出母視窗的邊界,所有的操作都是在母視窗裡面完成的。子視窗可以用os提供的預設型別來完成,也可以自定義型別來完成,即自定義wndclas 常用的子視窗有button combobox edit listbox stati...