VBA API_04:如何创建按钮
在创建了窗体的基础上,接下来我们将进一步添加一个按钮来增强程序的交互性。按钮是Windows系统中预定义的控件,因此无需额外注册,直接使用CreateWindowEx函数即可。在创建窗体之后、显示窗体之前,我们可以插入代码来创建这个按钮。按钮的父窗口句柄(hWndParent)应当设置为之前创建的窗体的句柄(hWnd):'创建窗体hWnd=CreateWindowEx(0,"myForm","myForm",WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USED
在创建了窗体的基础上,接下来我们将进一步添加一个按钮来增强程序的交互性。按钮是Windows系统中预定义的控件,因此无需额外注册,直接使用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通过上述步骤,我们成功创建了一个简单但功能齐全的界面:

Windows 10 是一款微软推出的经典操作系统,拥有硬件兼容性与多任务处理能力。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。
极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。
















