您当前的位置: 首页 > 

txwtech

暂无认证

  • 1浏览

    0关注

    813博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

MFC 判断子窗体是不是已经打开,避免重复创建。解决方法

txwtech 发布时间:2019-03-07 00:04:37 ,浏览量:1

 

CSeriPortSendDlg是调用窗口的类名,复制12行-22行,把12,20行的“CSeriPortSendDlg”,替换成你需要调用的类名即可。

 //IDD是枚举类,需要在相应头文件中的public添加(enum { IDD = IDD_SERIPORTSEND_DIALOG };)。

//

class CSeriPortSendDlg : public CDialog { // 构造 public:     CSeriPortSendDlg(CWnd* pParent = NULL);    // 标准构造函数

// 对话框数据     enum { IDD = IDD_SERIPORTSEND_DIALOG };

//----------------------------IDD_SERIPORTSEND_DIALOG是被调用的窗口名字-----------------------------------

    protected:     virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV 支持

 

 

void Dialog_Home::OnBnClickedButtonSetting()
{
	// TODO: 在此添加控件通知处理程序代码--(txwtech)
	//CSeriPortSendDlg *m_picDlgPtr = new CSeriPortSendDlg();
	// 
	//if (m_picDlgPtr->m_hWnd == NULL)
	//{
	//	m_picDlgPtr->Create(IDD_SERIPORTSEND_DIALOG, this); // 创建非模态窗口
	//}
	//
	//m_picDlgPtr->ShowWindow(SW_SHOW);
	static CSeriPortSendDlg *p_Dlg1 = new CSeriPortSendDlg;
	HWND hWnd = p_Dlg1->GetSafeHwnd();
	if (IsWindow(hWnd))
	{
		p_Dlg1->ShowWindow(SW_SHOW);
	}
	else
	{
		p_Dlg1->Create(CSeriPortSendDlg::IDD, CWnd::FromHandle(p_Dlg1->GetSafeHwnd()));
		p_Dlg1->ShowWindow(SW_SHOW);
	}
}

 

 

关注
打赏
1665060526
查看更多评论
立即登录/注册

微信扫码登录

0.0381s