对话框程序设计之显示对话框

      在设计完对话框资源并创建了相应的对话框类之后,接下来的任务是在程序中创建并显示对话框。其中对话框的显示方式有两种,即模式对话框和非模式对话框。

      何谓模式/非模式对话框?有何区别?

      在模式对话框中,如果用户不关闭该对话框,将不能切换到程序的其他对话框中。而对于非模式对话框而言,我们可以随意地进行对话框切换。

      1、创建模式对话框:

       首先定义一个对象,然后调用该对象的DoModal方法即可创建一个模式对话框。

              

       或者采用在堆中分配的方法。即利用new运算符来构建对象,使用delete运算符来释放对象。

      

       2、创建非模式对话框

      

       但是在该模式中,如果将非模式对话框关闭,再单击“确定”按钮创建新对话框,将会出现错误。这是因为关闭非模式对话框时,只是隐藏了对话框,而没有销毁由Create方法创建的对话框资源,此时再调用Create方法创建对话框时,由于当前的m_Book对象已经有了关联的对话框,因此导致了错误发生。解决方式是使用IsWindow函数先来判断m_Book对象是否关联了对话框。如果没有在调用Create方法创建对话框。

      

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值