正如Creating a Window (Windows)所述:
“恭喜,你已经创建了一个窗口!现在,窗户确实如此 不包含任何内容或与用户互动。“
但我无法调试创建窗口时提到的完整代码。这是 main.cpp 来源:
#include <windows.h>
// Register the window class.
const wchar_t CLASS_NAME[] = L"Sample Window Class";
WNDCLASS wc = { };
wc.lpfnWndProc = WindowProc;
wc.hInstance = hInstance;
wc.lpszClassName = CLASS_NAME;
RegisterClass(&wc);
// Create the window.
HWND hwnd = CreateWindowEx(
0, // Optional window styles.
CLASS_NAME, // Window class
L"Learn to Program Windows", // Window text
WS_OVERLAPPEDWINDOW, // Window style
// Size and position
CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
NULL, // Parent window
NULL, // Menu
hInstance, // Instance handle
NULL // Additional application data
);
if (hwnd == NULL)
{
return 0;
}
ShowWindow(hwnd, nCmdShow);
我正在使用 Visual Studio Express 2012 for Windows Desktop 。从新项目开始,选择 Visual C ++ ,清空项目。我甚至尝试#include <iostream>
没有和using namespace std;
希望一点点......不幸的是,它没有解决问题。
调试会产生许多错误。其中一个可疑代码是“wc”:
wc.lpfnWndProc = WindowProc;
wc.hInstance = hInstance;
wc.lpszClassName = CLASS_NAME;
RegisterClass(&wc);
对不起,(我想,这很简单,)因为我刚刚开始..
答案 0 :(得分:2)
选择Visual C ++,清空项目
不要选择那个。请改为选择Win32 Project。您获得预先生成的代码,该代码实现了一切正确设置的最小本机Windows项目。扩展它并使它做一些有用的事情。
一旦你了解了这种编程的更多信息并且已经阅读了Petzold的“Programming Windows”三次,你就能够从头开始编写程序。然后选择guru设置并从“Empty Project”项目模板开始。尝试以相反的方式做到这一点不可避免地非常令人失望,你无法在一个会话中学习所有你需要做的事情。