MFC 非模态对话框一闪而过

MFC 专栏收录该内容
4 篇文章 0 订阅

在消息函数中用下面的代码会出现对话框闪一下就不见了的情况


        Color_Based_SettingDlg m_ColorBasedSetting;	
	m_ColorBasedSetting.Create(IDD_DIALOG_BASE_COLOR_SETTING);
	m_ColorBasedSetting.ShowWindow(SW_SHOW);
	m_ColorBasedSetting.SetActiveWindow();


原因是 ColorBasedSetting在消息函数执行完就释放了,因此ShowWindow自然就不能正常了

但是很奇怪,用类的对象来调用函数就没有这种问题。


Color_Based_SettingDlg * p_m_ColorBasedSetting = new Color_Based_SettingDlg; 
	p_m_ColorBasedSetting-> Create( IDD_DIALOG_BASE_COLOR_SETTING); 
	p_m_ColorBasedSetting->SetWindowPos( NULL, 0, 0, 0, 0, SWP_NOSIZE|SWP_NOMOVE ); 
	p_m_ColorBasedSetting->ShowWindow( SW_SHOW ); 
	p_m_ColorBasedSetting->SetActiveWindow();



  • 0
    点赞
  • 0
    评论
  • 1
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值