跳转到主内容
websoft网络软件专家 - 深耕网络技术,打造实用软件!

VBA使用API_04:创建按钮

在创建了窗体的基础上,接下来我们将进一步添加一个按钮来增强程序的交互性。按钮是 win dows系统中预定义的控件,因此无需额外注册,直接使用createwindowex函数即可。在创建窗体之后、显示窗体之前,我们可以插入代码来创建这个按钮。 按钮的父窗口句柄(hWndParent)应当设置为之前创建的窗体的句柄(hWnd):
'创建窗体 hWnd = CreateWindowEx(0, "myForm", "myForm", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, 0, 0, Application.hInstance, ByVal 0) If hWnd Then '添加一个按钮 btnhwnd = CreateWindowEx(0, "BUTTON", "BUTTON", WS_CHILD Or WS_VISIBLE, 5, 5, 80, 20, hWnd, IDC_BUTTON, Application.hInstance, ByVal 0) '显示窗体 ShowWindow hWnd, SW_SHOWNORMAL
设置IDC_BUTTON的目的是为了在 回调函数 中捕获按钮的单击事件。这个ID值可以任意设置,只要在回调函数中正确处理即可:
'回调函数 Public Function WndProc(ByVal hWnd As Long, ByVal uMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long '仅处理WM_DESTROY销毁窗体 Select Case uMsg Case WM_DESTROY: DestroyWindow hWnd PostQuitMessage 0 Case WM_COMMAND: If LOWORD(wParam) = IDC_BUTTON Then MsgBox "你点击了按钮。" End If End Select '默认的回调函数 WndProc = DefWindowProc(hWnd&, uMsg, wParam, lParam) End Function Function LOWORD(wParam As Long) As Long LOWORD = wParam And &HFFFF& End Function
通过上述步骤,我们成功创建了一个简单但功能齐全的界面: Trae win Trae Windows 官方版本现已全面支持 Win10 和 Win11 系统(64位)。国内开发者可直接访问 Trae 中文官网(trae.cn 或 trae.com.cn),一键下载官方正版 .exe 安装包,享受国内直连的高速稳定体验。安装过程极其简便,双击即可运行,并支持一键无缝导入 VS Code 或 Cursor 的原有主题、快捷键及插件配置。登录支持手机号、微信或稀土掘金账号。内置免费的豆包与 DeepSeek 等顶级大模型,让你开箱即用,轻松开启高效的 AI 智能编程之旅。 下载

相关文章