WS_POPUP, // 窗口外观样式
0
,
//
38,
//
窗口相对于父级的x坐标
0
,
//
20,
//
窗口相对于父级的y坐标 GetSystemMetrics (SM_CXSCREEN):获取屏幕宽度
GetSystemMetrics(SM_CXSCREEN), //480, // 窗口的宽度 GetSystemMetrics(SM_CYSCREEN):获取屏幕高度
GetSystemMetrics(SM_CYSCREEN), //250, // 窗口的高度
NULL,
//
没有父窗口
NULL,
//
没有菜单
hInstance,
//
当前应用程序的实例句柄
NULL);
//
没有附加数据
if
(hwnd ==
NULL)
return
0
;
//
显示窗口
ShowWindow(hwnd, SW_NORMAL);
//
更新窗口
UpdateWindow(hwnd);
//
消息循环
MSG msg;
while
(GetMessage(&msg, NULL,
0
,
0
))
TranslateMessage(
&
msg);
DispatchMessage(
&
msg);
return
0
;
void
RegisterMyClass()
WNDCLASS wc;
wc.lpszClassName
= TEXT(
"
MainWindow
"
);
wc.lpfnWndProc
=
MainWndProc;
wc.style
= CS_OWNDC | CS_VREDRAW |
CS_HREDRAW;
wc.hInstance
=
NULL;
wc.hIcon
=
LoadIcon(NULL, IDI_APPLICATION);
wc.hCursor
=
LoadCursor(NULL, IDC_ARROW);
白色画刷 (HBRUSH)(COLOR_WINDOW + 1);
wc.hbrBackground
=
(HBRUSH)(GetStockObject(BLACK_BRUSH));
wc.lpszMenuName
= TEXT(
"
FirstWin32
"
);
wc.cbClsExtra
=
0
;
wc.cbWndExtra
=
0
;
RegisterClass(
&
wc);
LRESULT CALLBACK MainWndProc(HWND hwnd,
UINT uMsg,
WPARAM wParam,
LPARAM lParam)
switch
(uMsg)
case
WM_PAINT:
break
;
case
WM_DESTROY:
PostQuitMessage(uMsg);
break
;
default
:
return
DefWindowProc(hwnd, uMsg, wParam, lParam);
break
;
其中最主要的就是红色的地方,第一个是设置窗口样式为弹出窗口,虽然没搞明白为什么使用弹出窗口可以实现全屏,但是总归是实现了,回头仔细看看API。
后面是设置窗口的宽度和高度,分别设置为屏幕的宽度和高度即可。
win32编程就是舒服,真正的刺刀见红的快感,刀刀见肉,不像mfc那样,不知道框架自己做了些什么。