Windows 添加按钮
2022/3/1 7:25:51
本文主要是介绍Windows 添加按钮,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
点击跳转到视频教程
gitee项目链接(有100多MB)
比上一节程序 第一个win32项目 多一个case 和 头文件 #include<commctrl.h>
case WM_CREATE: { UINT IDC_BUTTON_1 = 200; HWND hButtonWnd = CreateWindow(WC_BUTTON, _T("这是一个按钮"), WS_CHILD | BS_PUSHBUTTON | WS_VISIBLE, 100, 100, 100, 50, hWnd, (HMENU)IDC_BUTTON_1, NULL, NULL); } break;
全部代码:
#include<windows.h> #include<tchar.h> #include<iostream> #include<commctrl.h> using namespace std; static TCHAR szWindowClass[] = _T("WindowClass"); static TCHAR szTitle[] = _T("我的第一个窗口程序"); // 第五步:窗口函数中处理窗口消息 LRESULT CALLBACK WindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { PAINTSTRUCT ps; HDC hdc; TCHAR greeting[] = _T("大家好!"); switch (uMsg) { case WM_CREATE: { UINT IDC_BUTTON_1 = 200; HWND hButtonWnd = CreateWindow(WC_BUTTON, _T("这是一个按钮"), WS_CHILD | BS_PUSHBUTTON | WS_VISIBLE, 100, 100, 100, 50, hWnd, (HMENU)IDC_BUTTON_1, NULL, NULL); } break; case WM_PAINT: hdc = BeginPaint(hWnd, &ps); TextOut(hdc, 5, 5, greeting, _tcslen(greeting)); EndPaint(hWnd, &ps); break; case WM_DESTROY: PostQuitMessage(0); break; default: return DefWindowProc(hWnd, uMsg, wParam, lParam); break; } return 0; } int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPreInstance, LPSTR lpCmdLine, int nCmdShow) { // 第一步:注册窗口类, 指定窗口类的名称和窗口回调函数 WNDCLASSEX wcex = { 0 }; wcex.cbSize = sizeof(WNDCLASSEX); wcex.lpfnWndProc = WindowProc; wcex.lpszClassName = szWindowClass; if (!RegisterClassEx(&wcex)) { MessageBox(NULL, _T("注册窗口类失败"), _T("Tip"), NULL); return 1; } // 第二步:创建窗口,指定注册窗口类,窗口标题,窗口大小 HWND hWnd = CreateWindow( szWindowClass, szTitle, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 500, 300, NULL, NULL, hInstance, NULL ); if (!hWnd) { MessageBox(NULL, _T("创建窗口失败"), _T("Tip"), NULL); return 1; } //第三步:显示窗口 ShowWindow(hWnd, nCmdShow); // 第四步:开始消息循环 MSG msg = { 0 }; while (GetMessage(&msg, NULL, 0, 0)) { TranslateMessage(&msg); DispatchMessage(&msg); } return (int)msg.wParam; }
运行的时候需要把除了Button.cpp以外的文件中的Main函数注释掉
这篇关于Windows 添加按钮的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-15鸿蒙生态设备数量超8亿台
- 2024-05-13TiDB + ES:转转业财系统亿级数据存储优化实践
- 2024-05-09“2024鸿蒙零基础快速实战-仿抖音App开发(ArkTS版)”实战课程已上线
- 2024-05-09聊聊如何通过arthas-tunnel-server来远程管理所有需要arthas监控的应用
- 2024-05-09log4j2这么配就对了
- 2024-05-09nginx修改Content-Type
- 2024-05-09Redis多数据源,看这篇就够了
- 2024-05-09Google Chrome驱动程序 124.0.6367.62(正式版本)去哪下载?
- 2024-05-09有没有大佬知道这种数据应该怎么抓取呀?
- 2024-05-09这种运行结果里的10.100000001,怎么能最快改成10.1?