建立Win32視窗程式

2021-09-26 06:06:06 字數 1856 閱讀 6375

建立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;

讓程式執行起來

//winmain()

msg msg;

while (true)

translatemessage(&msg);

dispatchmessage(&msg);

} }

修改視窗中視口的大小為指定的大小。比如800x600,通過計算後,windowwidth和windowheight為剛才指定的視口大小加上邊框。然後通過createwindowex建立視窗。

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...