閑話不說了,這是一種可能有問題的做法:
int cap = GetSystemMetrics(SM_CYCAPTION);
int wid = GetSystemMetrics(SM_CXSCREEN);
int hei = GetSystemMetrics(SM_CYSCREEN);
hWnd = CreateWindow(szWindowClass, szTitle, WS_NONAVDONEBUTTON|WS_VISIBLE|WS_POPUP,
0, cap, wid, hei-cap, NULL, NULL, hInstance, NULL);
這才是比較地道的做法:
RECT rectWorkArea;
SystemParametersInfo(SPI_GETWORKAREA, 0, (PVOID)&rectWorkArea, 0);
hWnd = CreateWindow(szWindowClass, TEXT(""), WS_NONAVDONEBUTTON|WS_VISIBLE|WS_POPUP,
rectWorkArea.left, rectWorkArea.top, rectWorkArea.right-rectWorkArea.left,
rectWorkArea.bottom-rectWorkArea.top, NULL, NULL, hInstance, NULL);
兩種創建出來的窗口的高度可能相差幾個像素,前一種方法可能導致窗口在創建完之后,有一次莫名其妙的WM_SIZE消息產生,有些東西啊,懂就是懂,不懂就是不懂……想也想不出來。