鱼C论坛

 找回密码
 立即注册
查看: 2475|回复: 5

这个窗口为什么不响应任何操作,就指点

[复制链接]
发表于 2015-5-9 14:16:12 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include<windows.h>
#include<stdio.h>

WNDCLASS wndclass;
HWND hwnd;
MSG Msg;

long CALLBACK WndProc(HWND hwnd,
UINT message,
WPARAM wParam,
LPARAM lParam
);

int WINAPI WinMain
(
    HINSTANCE hInstance,
    HINSTANCE hPrevInstance,
    LPTSTR lpCmdLine,
    int nCmdShow
)
{
typedef struct_WNDCLASS;
{
wndclass.style=CS_VREDRAW|CS_HREDRAW;
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=TEXT("HAHA");
}
RegisterClass(&wndclass);

hwnd=CreateWindow( TEXT("HAHA"),
TEXT("XIXI"),
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
NULL,
NULL,
hInstance,
NULL
);

ShowWindow(hwnd,nCmdShow);

UpdateWindow(hwnd);

while(GetMessage(&Msg,NULL,0,0));
{
TranslateMessage(&Msg);
DispatchMessage(&Msg);
};
return 0;
};

long CALLBACK WndProc(HWND hwnd,
UINT message,
WPARAM wParam,
LPARAM lParam)
{
switch(message)
{
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hwnd,message,wParam,lParam);
}
return 0;
}
为什么创建出来后,什么操作都不响应,关掉还要用任务管理器
求指点啊求指点

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-5-9 16:16:45 | 显示全部楼层
本帖最后由 freeparty 于 2015-5-9 17:35 编辑
  1. #include<windows.h>
  2. #include<stdio.h>

  3. WNDCLASS wndclass;
  4. HWND hwnd;
  5. MSG Msg;

  6. long CALLBACK WndProc(HWND hwnd,
  7. UINT message,
  8. WPARAM wParam,
  9. LPARAM lParam
  10. );

  11. int WINAPI WinMain
  12. (
  13.     HINSTANCE hInstance,
  14.     HINSTANCE hPrevInstance,
  15.     LPTSTR lpCmdLine,
  16.     int nCmdShow
  17. )
  18. {
  19. typedef struct_WNDCLASS;
  20. {
  21. wndclass.style=CS_VREDRAW|CS_HREDRAW;
  22. wndclass.lpfnWndProc=WndProc;
  23. wndclass.cbClsExtra=0;
  24. wndclass.cbWndExtra=0;
  25. wndclass.hInstance=hInstance;
  26. wndclass.hIcon=LoadIcon(NULL,IDI_APPLICATION);
  27. wndclass.hCursor=LoadCursor(NULL,IDC_ARROW);
  28. wndclass.hbrBackground=(HBRUSH)(GetStockObject(WHITE_BRUSH));
  29. wndclass.lpszMenuName=NULL;
  30. wndclass.lpszClassName=TEXT("HAHA");
  31. }
  32. RegisterClass(&wndclass);

  33. hwnd=CreateWindow( TEXT("HAHA"),
  34. TEXT("XIXI"),
  35. WS_OVERLAPPEDWINDOW,
  36. CW_USEDEFAULT,
  37. CW_USEDEFAULT,
  38. CW_USEDEFAULT,
  39. CW_USEDEFAULT,
  40. NULL,
  41. NULL,
  42. hInstance,
  43. NULL
  44. );

  45. ShowWindow(hwnd,nCmdShow);

  46. UpdateWindow(hwnd);

  47. while(GetMessage(&Msg,NULL,0,0))
  48. {
  49. TranslateMessage(&Msg);
  50. DispatchMessage(&Msg);
  51. };
  52. return 0;
  53. };

  54. long CALLBACK WndProc(HWND hwnd,
  55. UINT message,
  56. WPARAM wParam,
  57. LPARAM lParam)
  58. {
  59. switch(message)
  60. {
  61. case WM_DESTROY:
  62. PostQuitMessage(0);
  63. break;
  64. }
  65. return DefWindowProc(hwnd,message,wParam,lParam);
  66. }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-5-9 16:49:21 | 显示全部楼层
楼主,,,

54.while(GetMessage(&Msg,NULL,0,0));  

你加了 ;  下面的                TranslateMessage(&Msg);
                DispatchMessage(&Msg); 就执行不了了

把;去掉就好了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-5-9 16:50:00 | 显示全部楼层

54.while(GetMessage(&Msg,NULL,0,0));


问题在  后面有个 ;
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-5-9 17:35:21 | 显示全部楼层
迷雾少年 发表于 2015-5-9 16:50
54.while(GetMessage(&Msg,NULL,0,0));

根本没调试,所以没看到。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-5-9 17:51:28 | 显示全部楼层
谢各位:loveliness:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-3-29 14:08

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表