怎么显示不出来?

热烈的红颜 2009-04-10 03:16:05

#include<Windows.h>
#include<iostream.h>
LRESULT CALLBACK WindowFProc(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam);
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance, LPSTR lpCmdLine,int nCmdShow)
{
WNDCLASS wndclass;
wndclass.hInstance=hInstance;
wndclass.cbClsExtra=0;
wndclass.cbWndExtra=0;
wndclass.hCursor=LoadCursor(hInstance,IDC_CROSS);
wndclass.lpfnWndProc=WindowFProc;
wndclass.hIcon=LoadIcon(hInstance,IDI_ERROR);
wndclass.hbrBackground=(HBRUSH)GetStockObject(GRAY_BRUSH);
wndclass.lpszClassName="SimpWClass";
wndclass.lpszMenuName=NULL;
wndclass.style=CS_HREDRAW|CS_VREDRAW;
RegisterClass(&wndclass);

HWND hwnd;
hwnd=CreateWindow("szWindowClass","第一个窗口",WS_OVERLAPPEDWINDOW ,
CW_USEDEFAULT, 0, CW_USEDEFAULT, 0,NULL,NULL,hInstance,NULL);
ShowWindow(hwnd,SW_SHOWNORMAL);
UpdateWindow(hwnd);
MSG msg;
while(GetMessage(&msg,hwnd,0,0)){
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return 0;
}
LRESULT CALLBACK WindowFProc(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam){
switch(uMsg){
case WM_CHAR:
break;
case WM_PAINT:
PAINTSTRUCT paintStruct;
HDC hdc;
hdc = BeginPaint(hWnd,&paintStruct);
EndPaint(hWnd,&paintStruct);
break;
case WM_CLOSE:
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
DefWindowProc(hWnd,uMsg,wParam,lParam);
}
return 0;
}

...全文
98 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
xmanlin 2009-04-10
  • 打赏
  • 举报
回复
当然楼上说的你的想创建的窗口类名和你注册的不一样也是问题所在. 这样在你createwindow时报找错误类名错误
热烈的红颜 2009-04-10
  • 打赏
  • 举报
回复
对了
return DefWindowProc(hWnd,uMsg,wParam,lParam);//对于未处理的消息,这里返回默认窗口处理程序
就着里 错误了
xmanlin 2009-04-10
  • 打赏
  • 举报
回复
hwnd=CreateWindow("SimpWClass","第一个窗口",WS_OVERLAPPEDWINDOW ,
CW_USEDEFAULT, 0, CW_USEDEFAULT, 0,NULL,NULL,hInstance,NULL); //你创建的窗口没有宽度

前两个是窗口位置, 后两个是窗口宽度和高度.
xiaocha 2009-04-10
  • 打赏
  • 举报
回复
很久没写中代码了,试一试这样,不知对否
hwnd=CreateWindow(
"SimpWClass",
"第一个窗口",
WS_OVERLAPPEDWINDOW ,
CW_USEDEFAULT,
CW_USEDEFAULT, // !!!
CW_USEDEFAULT,
CW_USEDEFAULT,
NULL,
NULL,
hInstance,
NULL);
lzr4304061988012 2009-04-10
  • 打赏
  • 举报
回复

LRESULT CALLBACK WindowFProc(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam);
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance, LPSTR lpCmdLine,int nCmdShow)
{
WNDCLASS wndclass;
wndclass.hInstance=hInstance;
wndclass.cbClsExtra=0;
wndclass.cbWndExtra=0;
wndclass.hCursor=LoadCursor(hInstance,IDC_CROSS);
wndclass.lpfnWndProc=WindowFProc;
wndclass.hIcon=LoadIcon(hInstance,IDI_ERROR);
wndclass.hbrBackground=(HBRUSH)GetStockObject(GRAY_BRUSH);
wndclass.lpszClassName="SimpWClass";
wndclass.lpszMenuName=NULL;
wndclass.style=CS_HREDRAW|CS_VREDRAW;
RegisterClass(&wndclass);

HWND hwnd;
hwnd=CreateWindow("SimpWClass","第一个窗口",WS_OVERLAPPEDWINDOW ,
CW_USEDEFAULT, 0, CW_USEDEFAULT, 0,NULL,NULL,hInstance,NULL);//这里第一参数窗口类名不对.
ShowWindow(hwnd,SW_SHOWNORMAL);
UpdateWindow(hwnd);
MSG msg;
while(GetMessage(&msg,hwnd,0,0)){
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return 0;
}
LRESULT CALLBACK WindowFProc(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam){
switch(uMsg){
case WM_CHAR:
break;
case WM_PAINT:
PAINTSTRUCT paintStruct;
HDC hdc;
hdc = BeginPaint(hWnd,&paintStruct);
EndPaint(hWnd,&paintStruct);
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hWnd,uMsg,wParam,lParam);//对于未处理的消息,这里返回默认窗口处理程序
}
return 0;
}

热烈的红颜 2009-04-10
  • 打赏
  • 举报
回复
还是 不可以
stone_clock 2009-04-10
  • 打赏
  • 举报
回复
wndclass.lpszClassName="SimpWClass";

CreateWindow("szWindowClass"
要一样吧。

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧