创建Win32应用程序(C++)(3)

2019-04-09 20:17

} //

// FUNCTION: WndProc(HWND, UINT, WPARAM, LPARAM) //

// PURPOSE: Processes messages for the main window.// // WM_PAINT - Paint the main window

// WM_DESTROY - post a quit message and return // //

LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) {

PAINTSTRUCT ps; HDC hdc;

TCHAR greeting[] = _T(\

switch (message) {

case WM_PAINT:

hdc = BeginPaint(hWnd, &ps);

// Here your application is laid out.// For this introduction, we just print out \

// in the top left corner.TextOut(hdc, 5, 5,

greeting, _tcslen(greeting));

// End application-specific layout section.EndPaint(hWnd, &ps);

break;

case WM_DESTROY:

PostQuitMessage(0); break; default:

return DefWindowProc(hWnd, message, wParam, lParam); break; }

return 0; }

后续步骤

上一部分:创建 Windows 应用程序 (C++) |下一部分:通过使用 .NET Framework 创建 Windows 窗体应用程序 (C++)

请参见

任务

创建 Windows 应用程序 (C++) 社区内容添加 常见问题 两个 return 1

创建窗口类失败、创建窗口失败的两个 return 1; 有这样子的吗?

发展历史

? ?

错误提示

2010/11/2 淡淡滋味

1>d:\\documents\\visual studio 2010\\projects\\win3201\\win3201\\gt_helloworldwin32.cpp(37): error C2065: “szWindowClass”: 未声明的标识符

1>d:\\documents\\visual studio 2010\\projects\\win3201\\win3201\\gt_helloworldwin32.cpp(72): error C2065: “szWindowClass”: 未声明的标识符

1>d:\\documents\\visual studio 2010\\projects\\win3201\\win3201\\gt_helloworldwin32.cpp(72): error C2065: “szTitle”: 未声明的标识符

1>d:\\documents\\visual studio 2010\\projects\\win3201\\win3201\\gt_helloworldwin32.cpp(124): error C2059: 语法错误:“)”

如何生命标识符szWindowClass和szTitle

发展历史

? ?

正确的代码

示例代码里有三句代码放在注释语句里面了。正确的如下:

// GT_HelloWorldWin32.cpp

2010/10/31 错误提示

// compile with: /D_UNICODE /DUNICODE /DWIN32 /D_WINDOWS /c #include #include #include #include // Global variables

// The main window class name.

static TCHAR szWindowClass[] = _T(\// The string that appears in the application's title bar. static TCHAR szTitle[] = _T(\HINSTANCE hInst;

// Forward declarations of functions included in this code module: LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) {

WNDCLASSEX wcex;

wcex.cbSize = sizeof(WNDCLASSEX); wcex.style = CS_HREDRAW | CS_VREDRAW; wcex.lpfnWndProc = WndProc; wcex.cbClsExtra = 0; wcex.cbWndExtra = 0; wcex.hInstance = hInstance;

wcex.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_APPLICATION)); wcex.hCursor = LoadCursor(NULL, IDC_ARROW); wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1); wcex.lpszMenuName = NULL;

wcex.lpszClassName = szWindowClass;

wcex.hIconSm = LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_APPLICATION)); if (!RegisterClassEx(&wcex)) {

MessageBox(NULL,

_T(\_T(\NULL); return 1; }

hInst = hInstance; // Store instance handle in our global variable // The parameters to CreateWindow explained: // szWindowClass: the name of the application // szTitle: the text that appears in the title bar

// WS_OVERLAPPEDWINDOW: the type of window to create

// CW_USEDEFAULT, CW_USEDEFAULT: initial position (x, y) // 500, 100: initial size (width, length) // NULL: the parent of this window

// NULL: this application does not have a menu bar // hInstance: the first parameter from WinMain // NULL: not used in this application HWND hWnd = CreateWindow( szWindowClass, szTitle,

WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 500, 100, NULL, NULL, hInstance, NULL ); if (!hWnd) {

MessageBox(NULL,

_T(\_T(\NULL); return 1; }

// The parameters to ShowWindow explained: // hWnd: the value returned from CreateWindow // nCmdShow: the fourth parameter from WinMain ShowWindow(hWnd, nCmdShow);

UpdateWindow(hWnd); // Main message loop: MSG msg;

while (GetMessage(&msg, NULL, 0, 0)) {

TranslateMessage(&msg); DispatchMessage(&msg); }

return (int) msg.wParam; } //

// FUNCTION: WndProc(HWND, UINT, WPARAM, LPARAM) //

// PURPOSE: Processes messages for the main window.//

// WM_PAINT - Paint the main window

// WM_DESTROY - post a quit message and return // //

LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) {

PAINTSTRUCT ps; HDC hdc;

TCHAR greeting[] = _T(\switch (message) {

case WM_PAINT:

hdc = BeginPaint(hWnd, &ps);

// Here your application is laid out.// For this introduction, we just print out \// in the top left corner.

TextOut(hdc,5, 5,greeting, _tcslen(greeting));

// End application-specific layout section.EndPaint(hWnd, &ps); break;

case WM_DESTROY: PostQuitMessage(0); break; default:

return DefWindowProc(hWnd, message, wParam, lParam); break; } return 0; }

发展历史

? ?

2010/10/29

wwx024

?

?

有人能解决吗?

和楼上的一样,为什么运行这个例子,会有错误呢?期待解决。纠结几天了

2010/10/29

wwx024

发展历史

? ?

关于代码错误

代码并没有错误,只是有两句被注释了

2010/10/22 paddybear

发展历史

?

?

无语。。代码无法编译通过

1>------ 已启动生成: 项目: sample1, 配置: Debug Win32 ------ 1> HelloWorld.cpp

2010/9/25

xlstar

1>c:\%users\\蔡太太\\documents\\visual studio 2010\\projects\\sample1\\sample1\\helloworld.cpp(37): error C2065: “szWindowClass”: 未声明的标识符

1>c:\%users\\蔡太太\\documents\\visual studio 2010\\projects\\sample1\\sample1\\helloworld.cpp(72): error C2065: “szWindowClass”: 未声明的标识符

1>c:\%users\\蔡太太\\documents\\visual studio 2010\\projects\\sample1\\sample1\\helloworld.cpp(72): error C2065: “szTitle”: 未声明的标识符

1>c:\%users\\蔡太太\\documents\\visual studio 2010\\projects\\sample1\\sample1\\helloworld.cpp(124): error C2059: 语法错误:“)”

========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========

发展历史


创建Win32应用程序(C++)(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:五年级下册英语期中测试听力内容

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: