21xrx.com
2024-06-02 23:48:22 Sunday
登录
文章检索 我的文章 写文章
如何在C++中点击按钮关闭Dialog窗口。
2023-06-23 06:41:12 深夜i     --     --
C++ 按钮 关闭 Dialog窗口

在C++中关闭Dialog对话框可以通过点击按钮实现。下面是一些实现方法。

1. 使用消息映射:

在对话框类中添加一个按键响应函数,用于关闭对话框。


afx_msg void OnBnClickedButtonClose();

在IDD_DIALOG1(DLG_Main)资源文件中添加一个按钮控件(ID为IDC_BUTTON_CLOSE),并添加一个bnClicked消息映射函数。


ON_BN_CLICKED(IDC_BUTTON_CLOSE, &CDLG_Main::OnBnClickedButtonClose)

在OnBnClickedButtonClose()中调用EndDialog(0),以关闭对话框窗口。


void CDLG_Main::OnBnClickedButtonClose()

{

  EndDialog(0);

}

2. 使用控件变量:

在控件的属性中,勾选“控件变量”选项,自动生成变量IDC_BUTTON_CLOSE对应的控件变量m_btnClose。

在CDLG_Main对话框类的方法OnInitDialog()中,添加如下代码:


m_btnClose.SubclassDlgItem(IDC_BUTTON_CLOSE, this);

在按钮的按键响应函数OnBnClickedButtonClose()中,添加如下代码:


m_btnClose.GetParent()->PostMessage(WM_CLOSE);

以上两种方法都能够实现关闭Dialog窗口的功能,它们的实现原理相似,并且都需要在资源文件和代码中进行一些设置和调用。需要注意的是,在实现的过程中要确保控件和消息映射的ID号一致,才能正确地处理消息并完成相应的功能。

  
  
下一篇: C++代码的运行

评论区

{{item['qq_nickname']}}
()
回复
回复