yf1995823 2017-02-11 07:21 采纳率: 33.3%
浏览 1789
已结题

Windows程序设计,运行出的窗口不能关闭、拖动、拉大缩小。求大神指点问题所在

#include

LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM );
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,PSTR szCmdLine,int nCmdShow)
{
HWND hwnd;
MSG msg;//消息
WNDCLASS wc;
//1设计一个窗口类
wc.style=0;//窗口的样式
wc.lpfnWndProc=(WNDPROC)WndProc;//告诉这个窗口的窗口过程函数名称
wc.cbClsExtra=0;//窗口类额外的数据暂时不用考虑
wc.cbWndExtra=0;//窗口额外的数据暂时不用考虑
wc.hInstance=hInstance;//当前实例的实例句柄
wc.hIcon=LoadIcon(NULL,IDI_WINLOGO);//窗口的图标的样式
wc.hCursor=LoadCursor(NULL,IDC_ARROW);//鼠标的样式
wc.hbrBackground=(HBRUSH)(COLOR_WINDOW+1);//背景颜色
wc.lpszMenuName=NULL;//是否有菜单
wc.lpszClassName=TEXT("My WndClass");//窗口类的名字
//2注册窗口类
RegisterClass(&wc);
//3创建窗口
hwnd=CreateWindow(TEXT("My WndClass"),//窗口了类名字
TEXT("标题"),//创建的窗口标题
WS_OVERLAPPEDWINDOW,//窗口的样式
CW_USEDEFAULT,//窗口的x坐标
CW_USEDEFAULT,//窗口的y坐标
CW_USEDEFAULT,//窗口的长
CW_USEDEFAULT,//窗口的宽
NULL,//父窗口
NULL,//窗口菜单句柄
hInstance,//当前实例的实例句柄
NULL//暂时不用的参数
);
//4显示和更新窗口
ShowWindow(hwnd,nCmdShow);//显示窗口
UpdateWindow(hwnd);//更新窗口

//5消息循环
while(GetMessage(&msg,NULL,0,0));
{
    TranslateMessage(&msg);//翻译消息
    DispatchMessage(&msg);//转发消息到窗口过程WndProc
}

return msg.wParam;

}
LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam)
{
switch(message)
{
case WM_PAINT:
return 0;
case WM_DESTROY:
PostQuitMessage(0);
return 0;
default:
return DefWindowProc(hwnd,message,wParam,lParam);
}
return 0;

}

展开全部

  • 写回答

4条回答 默认 最新

  • threenewbee 2017-02-11 07:33
    关注

    return 0;全部改写成break;
    return DefWindowProc(hwnd,message,wParam,lParam);
    这个放在switch外面

    评论
  • threenewbee 2017-02-11 07:33
    关注

    否则默认的窗口函数得不到机会执行。

    评论
  • phelps_pass 2017-02-12 20:15
    关注

    消息循环有问题,陷入了死循环,去掉后面分号即可
    while(GetMessage(&msg,NULL,0,0)); //分号!!!!!!
    {
    TranslateMessage(&msg);//翻译消息
    DispatchMessage(&msg);//转发消息到窗口过程WndProc
    }

    评论
  • stone_wang5 2017-02-13 19:37
    关注

    去掉while(GetMessage(&msg,NULL,0,0));这句话后边的分号即可; 否则陷入死循环

    评论
编辑
预览

报告相同问题?

悬赏问题

  • ¥60 优博讯DT50高通安卓11系统刷完机自动进去fastboot模式
  • ¥15 minist数字识别
  • ¥15 在安装gym库的pygame时遇到问题,不知道如何解决
  • ¥20 uniapp中的webview 使用的是本地的vue页面,在模拟器上显示无法打开
  • ¥15 网上下载的3DMAX模型,不显示贴图怎么办
  • ¥15 关于#stm32#的问题:寻找一块开发版,作为智能化割草机的控制模块和树莓派主板相连,要求:最低可控制 3 个电机(两个驱动电机,1 个割草电机),其次可以与树莓派主板相连电机照片如下:
  • ¥15 Mac(标签-IDE|关键词-File) idea
  • ¥15 潜在扩散模型的Unet特征提取
  • ¥15 iscsi服务无法访问,如何解决?
  • ¥15 感应式传感器制作的感应式讯响器
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部