15. // For this introduction, we just print out \
o, World!\
16. // in the top left corner. 17. TextOut(hdc, 18. 5, 5,
19. greeting, _tcslen(greeting));
20. // End application specific layout section. 21.
22. EndPaint(hWnd, &ps); 23. break;
24. case WM_DESTROY:
25. PostQuitMessage(0); 26. break; 27. default:
28. return DefWindowProc(hWnd, message, wParam, lPara
m);
29. break; 30. } 31.
32. return 0; 33. }
示例
生成此示例
1. 创建本演练中之前“创建基于 Win32 的项目”中的基于 Win32 的项目。
2. 复制这些步骤之后的代码,然后将其粘贴到 GT_HelloWorldWin32.cpp 源文件中。 3. 在“生成”菜单上,单击“生成解决方案”。
4. 若要运行该应用程序,请按 F5。 在显示屏的左上角应出现一个窗口,窗口中含有文本
“Hello World!”。
代码
// GT_HelloWorldWin32.cpp
// compile with: /D_UNICODE /DUNICODE /DWIN32 /D_WINDOWS /c
#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 \d!\
// 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; }
通过使用 .NET Framework 创建 Windows 窗体应用程序 (C++)
使用 Visual C++ 开发 Windows 窗体项目,通常与使用任何其他 .NET 语言(如 Visual Basic 或 Visual C#)进行开发并无不同。
使用 Visual C++ 编写的 Windows 窗体应用程序通过新的 Visual C++ 语法使用 .NET Framework 类和其他 .NET 功能。 有关更多信息,请参见运行时平台的组件扩展。
在本过程中,您将使用工具箱中的几种标准控件创建 Windows 窗体应用程序。 用户可以在完成后的应用程序中选择一个日期,此时将出现一个文本标签,显示用户选择的日期。
系统必备
本主题假定您具备 C++ 语言的基础知识。
有关本主题的视频版本,请参见 Video How to: Creating a Windows Forms Application By Using the .NET Framework (C++)(视频帮助:使用 .NET Framework 创建 Windows 窗体应用程序 (C++))。
Note 对于在以下说明中使用的某些 Visual Studio 用户界面元素,您的计算机可能会显示不同的名称或位置。这些元素取决于您所使用的 Visual Studio 版本和您所使用的设置。有关更多信息,请参见 Visual Studio 设置。 创建新的 Windows 窗体项目
1. 在“文件”菜单上,单击“新建”,然后单击“项目”。