这个MFC程序为什么无法显示窗口?

以下是一个用来显示一个窗口的MFC程序,编译什么的都没有问题,运行后任务管理器中也显示有这个进程,但是没有显示出窗口,请问是什么原因?#include<windows.h... 以下是一个用来显示一个窗口的MFC程序,编译什么的都没有问题,运行后任务管理器中也显示有这个进程,但是没有显示出窗口,请问是什么原因?

#include<windows.h>
LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
int APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow){
WNDCLASS wndclass;
HWND hwnd;
MSG msg;
wndclass.style=CS_HREDRAW|CS_VREDRAW;
wndclass.lpfnWndProc=WndProc;
wndclass.cbClsExtra=0;
wndclass.cbWndExtra=0;
wndclass.hInstance=hInstance;
wndclass.hIcon=LoadIcon(NULL,IDI_APPLICATION);
wndclass.hCursor=LoadCursor(NULL,IDC_ARROW);
wndclass.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);
wndclass.lpszMenuName=NULL;
wndclass.lpszClassName="test";
if(!RegisterClass(&wndclass))return FALSE;

hwnd=CreateWindow(
"test",
"test",
WS_OVERLAPPEDWINDOW,
0,0,100,200,
NULL,
NULL,
hInstance,
NULL);
ShowWindow(hwnd,nCmdShow);
UpdateWindow(hwnd);
while(GetMessage(&msg,NULL,0,0)){
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}
LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam){
switch(message){
case WM_PAINT:
HDC hdc;
PAINTSTRUCT ps;
hdc=BeginPaint(hwnd,&ps);
TextOut(hdc,0,0,"hahaha",100);
EndPaint(hwnd,&ps);
return 0;
case WM_DESTROY:
PostQuitMessage(0);
return 0;
}
return DefWindowProc(hwnd,message,wParam,lParam);
}
展开
 我来答
bhtzu
推荐于2016-10-01 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8088
采纳率:85%
帮助的人:4203万
展开全部
首先,你这不是一个MFC程序,这是一个SDK窗口程序,或者叫win32API窗口程序,和MFC没有一点关系。
其次,你这个程序的代码没有问题,在VC6多字节字符集方式下可以运行成功并显示一个窗口。
更多追问追答
追问
谢谢指教!我是一个初学者。
请问您说的“在VC6多字节字符集方式下可以运行成功并显示一个窗口”是什么意思呢?我使用的是VisualC++6.0,为什么显示不出来?有什么解决方法吗?

谢谢!
追答

也就是说,代码是没有问题的,有问题的,要么是你的系统,要么是VC6的配置或工程配置。

因为没有更多信息,无法判别具体问题,建议你将工程放到其它机器上执行或者建立新的工程试试。

归悦欣cf
2015-04-23 · TA获得超过1443个赞
知道大有可为答主
回答量:4250
采纳率:59%
帮助的人:1323万
展开全部
试一试添加窗口可见的风格。
追问
怎么做呢?
追答
wndclass.style=WS_OVERLAPPEDWINDOW|WS_VISIBLE
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
PETAL吳若林use
2015-04-23 · 超过73用户采纳过TA的回答
知道答主
回答量:222
采纳率:50%
帮助的人:96.4万
展开全部
说要改变窗口标题?我给函数便:
SetTitle(标题);(引号内内容自想加入标题)行
追问
谢谢 函数使用格式看不太懂 能写清楚一些吗
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式