win32 窗口 两种方式显示字符串
2018-02-07 13:54
330 查看
vs2013 新建一个win32 应用程序 ,项目名称:HelloTextOut,空项目。
添加一个源文件,名字为 HelloTextOut.cpp
内容为:
运行效果:如下
添加一个源文件,名字为 HelloTextOut.cpp
内容为:
#include <windows.h> #include <stdlib.h> #include <string.h> #include <tchar.h> LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow) { static TCHAR szAppName[] = TEXT("HelloWin"); HWND hwnd; MSG msg; WNDCLASS wndclass; wndclass.style = CS_HREDRAW | CS_VREDRAW; 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 = szAppName; if (!RegisterClass(&wndclass)) { MessageBox(NULL, TEXT("This program requires Windows NT!"), szAppName, MB_ICONERROR); return 0; } hwnd = CreateWindow(szAppName, // window class name TEXT("The Hello Program"), // window caption WS_OVERLAPPEDWINDOW, // window style CW_USEDEFAULT, // initial x position CW_USEDEFAULT, // initial y position CW_USEDEFAULT, // initial x size CW_USEDEFAULT, // initial y size NULL, // parent window handle NULL, // window menu handle hInstance, // program instance handle NULL); // creation parameters ShowWindow(hwnd, iCmdShow); UpdateWindow(hwnd); while (GetMessage(&msg, NULL, 0, 0)) { TranslateMessage(&msg); DispatchMessage(&msg); } return msg.wParam; } LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) { HDC hdc; // 1 PAINTSTRUCT ps; // 2 TCHAR msg[] = _T("Hello, World!"); // 3 TCHAR szText[] = _T("Good Day!"); // 4 switch (message) { case WM_CLOSE: DestroyWindow(hwnd); break; case WM_DESTROY: PostQuitMessage(0); break; case WM_PAINT: // 5 hdc = BeginPaint(hwnd, &ps); // 6 TextOut(hdc, 50, 20, msg, _tcslen(msg)); // 7 EndPaint(hwnd, &ps); // 8 break; case WM_LBUTTONDOWN: //9 hdc = GetWindowDC(hwnd); //10 TextOut(hdc, 50, 100, szText, _tcslen(szText)); //11 ReleaseDC(hwnd, hdc); //12 break; default: return DefWindowProc(hwnd, message, wParam, lParam); } return 0; }
运行效果:如下
相关文章推荐
- win32 窗口 显示简单字符串
- java根据网页URL获取正文信息,并调整正文格式为段落显示---(两种方式)
- 两种方式实现activity中不显示actionBar
- 两种内容加载显示方式
- 禁止MDI子窗口的关闭按钮\MDI中多视排列显示方式
- 使用POST方式弹出窗口的两种办法
- int类型转换成字符串和字符串转换成int类型以及在MFC静态文本框显示数字的方式方法
- Spinner 显示的两种方式
- win32下的SetTimer()无窗口调用方式
- 使用WIN32 API CreateProcess()以无窗口方式创建DOS程序
- 牛刀小试——标题|菜单同行显示的两种实现方式
- C语言两种定义字符串的方式
- 多线程——用创建线程的两种方式分别解决经典窗口卖票问题
- MFC调用win32窗口显示调试信息,使用AllocConsole 函数
- C++ 删除字符串的两种实现方式
- JAVA中创建字符串的两种方式的区别
- 让flash自动显示代码提示的两种方式
- linq 实现查询字符串拼接 : And 和 OR 两种方式
- 设置Dialog全屏显示的两种方式
- python title() upper() lower() 以首字母大写的方式显示每个单词/将字符串改为全部大写或全部小写