VC CreateWindowEx 创建窗口失败。程序执行正常。
RT 程序执行正常。但是,窗口没有显示出来。求解决。下面是代码。
#include "stdafx.h"
#include "resource.h"
LRESULT CALLBACK WndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
TCHAR clsName[MAX_PATH] = "XRY";
//设计窗口
WNDCLASSEX wndcls;
wndcls.style = CS_VREDRAW | CS_HREDRAW ;
wndcls.lpfnWndProc = WndProc;
wndcls.cbClsExtra = 0;
wndcls.cbWndExtra = 0;
wndcls.hInstance = hInstance;
//wndcls.hIcon = LoadIcon(NULL,IDI_WINLOGO);
wndcls.hIcon = LoadIcon(NULL,MAKEINTRESOURCE(IDI_WND_ICON));
wndcls.hIconSm = LoadIcon(NULL,MAKEINTRESOURCE(IDI_WND_ICON));
wndcls.hCursor = LoadCursor(NULL,IDC_ICON);
wndcls.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
wndcls.lpszMenuName = NULL;
wndcls.lpszClassName = clsName;
//注册窗口
RegisterClassEx(&wndcls);
//创建窗口
HWND hwnd;
hwnd = CreateWindowEx(
WS_EX_CLIENTEDGE,
clsName,
"测试窗口",
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,CW_USEDEFAULT,
400,300,
NULL,NULL,
hInstance,NULL);
//显示窗口
ShowWindow(hwnd,nCmdShow);
UpdateWindow(hwnd);
MSG msg;
while(GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}
//过程
LRESULT CALLBACK WndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
switch(uMsg)
{
case WM_CREATE:
break;
case WM_CLOSE:
DestroyWindow(hwnd);
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hwnd,uMsg,wParam,lParam);
}
return 0;
}