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 添加按钮的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-04敏捷管理与看板工具:提升研发、设计、电商团队工作效率的利器
- 2025-01-04智慧养老管理工具如何重塑养老生态?
- 2025-01-04如何打造高绩效销售团队:工具与管理方法的结合
- 2025-01-04解决电商团队协作难题,在线文档工具助力高效沟通
- 2025-01-04春节超市管理工具:解锁高效运营与顾客满意度的双重密码
- 2025-01-046种主流销售预测模型:如何根据场景选用最佳方案
- 2025-01-04外贸服务透明化:增强客户信任与合作的最佳实践
- 2025-01-04重新定义电商团队协作:在线文档工具的战略作用
- 2025-01-04Easysearch Java SDK 2.0.x 使用指南(三)
- 2025-01-04百万架构师第八课:设计模式:设计模式容易混淆的几个对比|JavaGuide