为什么没有显示窗口?
以下程序执行后为什么没有窗口显示:
#include "windows.h"
LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
int WINAPI WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nShowCmd)
{
HWND hwnd;
MSG message;
WNDCLASS wndclass;
char lpszClassName[]="windows";
char lpszTitle[]="my_windows";
wndclass.style=0;
wndclass.lpfnWndProc=WndProc;
wndclass.cbClsExtra=0;
wndclass.cbWndExtra=0;
wndclass.hIcon=LoadIcon(NULL,IDI_APPLICATION);
wndclass.hCursor=LoadCursor(NULL,IDC_ARROW);
wndclass.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);
wndclass.lpszMenuName=NULL;
wndclass.lpszClassName=lpszClassName;
if (!RegisterClass(&wndclass))
{
MessageBeep(0);
return FALSE;
}
hwnd=CreateWindow("hi","hi",WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT,
CW_USEDEFAULT,CW_USEDEFAULT,NULL,NULL,hInstance,NULL);
ShowWindow(hwnd,nShowCmd);
UpdateWindow(hwnd);
//message loop
while (GetMessage(&message,NULL,0,0))
{
TranslateMessage(&message);
DispatchMessage(&message);
}
return message.wParam;
}
//window procedure
LRESULT CALLBACK WndProc(HWND hwnd,UINT imessage,WPARAM wparam,LPARAM lparam)
{
switch(imessage)
{
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hwnd,imessage,wparam,lparam);
}
return(0);
}
#include "windows.h"
LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
int WINAPI WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nShowCmd)
{
HWND hwnd;
MSG message;
WNDCLASS wndclass;
char lpszClassName[]="windows";
char lpszTitle[]="my_windows";
wndclass.style=0;
wndclass.lpfnWndProc=WndProc;
wndclass.cbClsExtra=0;
wndclass.cbWndExtra=0;
wndclass.hIcon=LoadIcon(NULL,IDI_APPLICATION);
wndclass.hCursor=LoadCursor(NULL,IDC_ARROW);
wndclass.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);
wndclass.lpszMenuName=NULL;
wndclass.lpszClassName=lpszClassName;
if (!RegisterClass(&wndclass))
{
MessageBeep(0);
return FALSE;
}
hwnd=CreateWindow("hi","hi",WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT,
CW_USEDEFAULT,CW_USEDEFAULT,NULL,NULL,hInstance,NULL);
ShowWindow(hwnd,nShowCmd);
UpdateWindow(hwnd);
//message loop
while (GetMessage(&message,NULL,0,0))
{
TranslateMessage(&message);
DispatchMessage(&message);
}
return message.wParam;
}
//window procedure
LRESULT CALLBACK WndProc(HWND hwnd,UINT imessage,WPARAM wparam,LPARAM lparam)
{
switch(imessage)
{
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hwnd,imessage,wparam,lparam);
}
return(0);
}
...全文
相关推荐
MFC子窗口和父窗口
Windows 系统为什么要使用两种关系呢?这是为了更加灵活的管理窗口。
谈谈父窗口和所有者窗口.doc
子窗口会随着父窗口一起被最小化,但其可见性属性(如`WS_VISIBLE`)保持不变。#### 四、窗口关系的实际应用为什么Windows系统会采用这两种不同的窗口关系机制呢?原因在于灵活性。
ASP中100个为什么
### ASP中100个为什么知识点详解#### 1. 怎样把别人网页上的背景音乐保存下来?
CAD窗口并排显示
在AutoCAD 2006版本中,虽然没有内置直接的并排显示选项,但可以通过一些小技巧或者安装第三方插件来实现类似浏览器的多窗口并排功能。首先,我们可以尝试使用AutoCAD的基础功能来尝试并排显示。
如何显示或隐藏窗口的标题栏
NULL, // 没有菜单 hInstance, // 应用程序实例句柄 NULL // 创建参数);```如果你希望在窗口已经创建后动态改变标题栏的显示状态,可以使用`SetWindowLong`函数修改窗口样式


