VS2013创建WINDOW窗口出现错误

Monkey_lv_hpy 2016-12-01 12:55:07
#include<Windows.h>
#include<stdio.h>
LRESULT CALLBACK abc(
HWND hwnd,
UINT uMsg,
WPARAM wParam,
LPARAM lParam
);
int WINAPI Winmain(
HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow
)
{
WNDCLASS wndcls;
wndcls.cbClsExtra = 0;
wndcls.cbWndExtra = 0;
wndcls.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
wndcls.hCursor = LoadCursor(NULL, IDC_CROSS);
wndcls.hIcon = LoadIcon(NULL, IDI_ERROR);
wndcls.hInstance = hInstance;
wndcls.lpfnWndProc = abc;
wndcls.lpszClassName = "c++ GAME";
wndcls.lpszMenuName = NULL;
wndcls.style = CS_HREDRAW;
RegisterClass(&wndcls); //注册窗口
HWND hwnd;
hwnd = CreateWindow(
"c++ GAME",
"123",
WS_OVERLAPPEDWINDOW,
200, 200, 600, 400,
NULL, NULL, hInstance,NULL

);
ShowWindow(hwnd, SW_NORMAL);
UpdateWindow(hwnd);



MSG msg;
while (GetMessage(&msg, NULL, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);


}


return 0;
}

LRESULT CALLBACK abc(
HWND hwnd,
UINT uMsg,
WPARAM wParam,
LPARAM lParam


){
switch (uMsg)
{
case WM_PAINT:
HDC hdc;
PAINTSTRUCT ps;
hdc = BeginPaint(hwnd, &ps);
TextOut(hdc, 0, 0, "hello", strlen("hello"));
EndPaint(hwnd, &ps);
break;
case WM_CLOSE:
if (IDYES == MessageBox(hwnd, "是否真的结束?", "游戏", MB_YESNO))
{
DestroyWindow(hwnd);



}
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hwnd, uMsg, wParam, lParam);
}
return 0;




}






...全文
186 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
Monkey_lv_hpy 2016-12-02
  • 打赏
  • 举报
回复
引用 9 楼 zhao4zhong1 的回复:
《Visual C++ 游戏开发经典案例详解》
是王浩编著的那个吗 清华大学出版的那个?
赵4老师 2016-12-02
  • 打赏
  • 举报
回复
《Visual C++ 游戏开发经典案例详解》
zgl7903 2016-12-01
  • 打赏
  • 举报
回复
项目生成时选择 Win32 _tWinMain 可适应UNICODE 和 非UNICODE int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow)
Monkey_lv_hpy 2016-12-01
  • 打赏
  • 举报
回复
引用 7 楼 60 的回复:
建议找一本书,照着书中的步骤一步步的学习。
有什么推荐的吗?我是上大学的C++课程感觉比较有兴趣
ipqtjmqj 2016-12-01
  • 打赏
  • 举报
回复
你建工程时选的是什么类型,可能选错了
060 2016-12-01
  • 打赏
  • 举报
回复
建议找一本书,照着书中的步骤一步步的学习。
赵4老师 2016-12-01
  • 打赏
  • 举报
回复
关于自己是否适合编程的很简单的测试: 在报纸或杂志上随便找一段约1000字的文章,在Word中输入一遍。输完后再参考下面答案: A里面有10处以上文字或标点错误 B里面没有文字或标点错误并敢为此跟人打赌 C里面没有文字或标点错误并且字体和排版完全与原稿一致 D打印在半透明的纸上和原稿重叠在一起检查一模一样,且自我感觉很有成就感 A不适合编程(理由:打字准确度偏低、粗心大意) B初级程序员(理由:打字准确度很高、认真细致、自信、理解全角半角概念) C高级程序员(理由:在B的基础上理解字体和排版也是电脑打印的重要因素、但相比D还不够偏执、精益求精、结果可验证) D软件项目经理(理由:能针对项目给出令人信服的细致到极点的需求说明和典型测试用例。用户几乎挑不出毛病。专业!) 如果想从A变成B的话,到我的资源http://download.csdn.net/detail/zhao4zhong1/4084259里面下载“适合程序员的键盘练习”
paschen 版主 2016-12-01
  • 打赏
  • 举报
回复
引用 4 楼 Monkey_lv_hpy 的回复:
[quote=引用 3 楼 paschen 的回复:] Winmain 改成 WinMain 另外工程要WIN32项目,而不是WIN32控制台项目
项目属性——配置属性——常规——字符集 改成使用多字节字符集 我把Winmain改成WinMain 就可以编译了 谢谢 然后我又试着创建了WIN32项目,把代码导进去,结果编译出错了额?这是哪有有问题吗? [/quote]
引用 4 楼 Monkey_lv_hpy 的回复:
[quote=引用 3 楼 paschen 的回复:] Winmain 改成 WinMain 另外工程要WIN32项目,而不是WIN32控制台项目
我把Winmain改成WinMain 就可以编译了 谢谢 然后我又试着创建了WIN32项目,把代码导进去,结果编译出错了额?这是哪有有问题吗? [/quote]
引用 4 楼 Monkey_lv_hpy 的回复:
[quote=引用 3 楼 paschen 的回复:] Winmain 改成 WinMain 另外工程要WIN32项目,而不是WIN32控制台项目
我把Winmain改成WinMain 就可以编译了 谢谢 然后我又试着创建了WIN32项目,把代码导进去,结果编译出错了额?这是哪有有问题吗? [/quote]
Monkey_lv_hpy 2016-12-01
  • 打赏
  • 举报
回复
引用 3 楼 paschen 的回复:
Winmain 改成 WinMain 另外工程要WIN32项目,而不是WIN32控制台项目
我把Winmain改成WinMain 就可以编译了 谢谢 然后我又试着创建了WIN32项目,把代码导进去,结果编译出错了额?这是哪有有问题吗?
paschen 版主 2016-12-01
  • 打赏
  • 举报
回复
Winmain 改成 WinMain 另外工程要WIN32项目,而不是WIN32控制台项目

64,652

社区成员

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

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