mfc中怎么设置点击完按钮控件之后,弹出一个新的窗口并打印出计算结果
时间: 2024-09-07 07:06:43 浏览: 98
mfc实现点击一个窗口弹出另一个窗口
5星 · 资源好评率100%
在MFC(Microsoft Foundation Classes)中,通常你会通过创建一个事件响应函数来处理按钮点击事件。以下是一个简单的步骤:
1. 首先,你需要在`OnInitDialog`函数中将按钮控件关联到一个消息映射上,例如处理`BN_CLICKED`事件:
```cpp
afx_msg void OnInitDialog()
{
// 初始化对话框...
CButton* pButton = GetDlgItem(IDC_YOUR_BUTTON_ID); // 替换为你实际的按钮ID
if (pButton)
{
pButton->ConnectNotify(WM_COMMAND, NULL, IDC_YOUR_BUTTON_ID, OnButtonClick);
}
}
afx_msg LRESULT OnButtonClick(UINT nIDCtrl, UINT nCode, HWND hWndCtrl, BOOL& bHandled)
{
// 点击事件处理
bHandled = TRUE;
// 在这里编写你的计算逻辑,并获取结果
int result = CalculateYourValue();
}
```
2. 在`OnButtonClick`函数中,你可以编写你的计算逻辑,比如计算两个数的加法,然后使用`CWnd::CreateWindow`或者`CDialogEx`等方法创建一个新的窗口来显示结果。例如:
```cpp
int CalculateYourValue()
{
// 这里是你的计算代码...
int a = 5, b = 10; // 示例数据
int result = a + b;
// 创建新的对话框
CDialog dlg(IDD_DIALOG结果显示); // IDD_DIALOG结果显示是你新建的对话框资源ID
if (dlg.DoModal() == IDOK) // 如果用户关闭了对话框,则返回
{
// 在新窗口中显示结果
CString strResult = "计算结果: " + Format(_T("%d"), result);
dlg.SetDlgItemText(IDC结果显示, strResult); // IDC结果显示是对话框中的文本框ID
}
return result;
}
```
3. 最后,记得在头文件中包含必要的对话框类声明,并在项目的资源编辑器中添加一个新的对话框资源。
阅读全文