非模式对话框与模式对话框

非模式对话框与模式对话框

使用区别:

模式对话框不允许用户在对话框关闭之前操作应用程序的其他窗口。

非模式对话框则允许用户在该对话框和应用程序其他窗口之间切换。

创建区别:

相同点 都是要首先建立对话框类完成话框的功能然后再调用。

不同点 调用方式不同

 

模式对话框 使用Domodal函数来创建窗口。

例如:

CModeDialog ModeDlg;

ModeDlg.DoModal();

 

窗口关闭则销毁了对话框。

非模式对话框使用create函数来创建。

例如:

声明 CPointInfo *m_pPointInfo;

 

构造函数中初始化

m_pPointInfo == NULL

创建窗口

if(m_pPointInfo != NULL)

 {

      m_pPointInfo->Create(IDD_MOUSE_POINT_DIALOG,this);

      m_pPointInfo->ShowWindow(SW_SHOW);

 }

注意: 因为用户可以在非模式窗口和模式窗口之间切换就有可能主窗口关掉而子窗口没关掉。所以在主窗口的析构函数中应该把子窗口删掉。

 

if(m_pPointInfo != NULL)

     {

         m_pPointInfo->DestroyWindow();

         delete m_pPointInfo;

     }

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值