C++语言 对话框程序设计

#include "Book.h"
//模式对话框的创建
CBook book; //定义CBook对象
book.DoModal(); //调用DoModal方法显示模态对话框

CBook *pbook;
pbook = new CBook();
pbook->DoModal();
delete pbook;

//非模式对话框的创建
if(!IsWindow(m_book.m_hWnd))
{
    m_book.Create(IDD_Book, NULL);
}
m_book.ShowWindow(SW_SHOW);

//在创建模式对话框时,定义的是局部变量,而创建非模式对话框时创建的是成员变量.在创建模式对话框时,调用DoModal方法创建对话框时,当前纯种被阻塞,直到模式对话框关闭.在关闭模式对话框时,OnOK方法调用完成,局部对象Book的作用域消失,导致调用基类的析构函数释放了窗口资源.因此,对于模式对话框,如果将其关闭,再重新创建不会出现错误.
//而创建非模式对话框使用的是成员变量,这是有原因的.因为调用Create方法创建对话框不会导致当前的纯种被阻塞,会继续执行其后的代码.如果采用下面的形貌:
CBook Book;
Book.Create(IDD_Book, NULL);
Book.ShowWindow(SW_SHOW);
//在调用Create方法后,紧接着释放创建的对话框资源,因此执行上述代码,窗口创建并显示后马上就消失了.

m_Book.SetWindowText("hello"); //设置对话框文本
m_Book.ModifyStyle(WS_CAPTION, 0, 0); //去除标题栏
m_Book.ModifyStyle(0, WS_THICKFRAME, 0); //添加WS_THICKFRAME 风格
m_Book.ModifyStyleEx(0, WS_EX_TOOLWINDOW, 0);//设置工具栏窗口风格(修改对话框的扩展风格)
m_Book.ModifyStyleEx(0, WS_EX_ACCEPTFILES, 0); //设置Accept files属性
//其中窗口的扩展风格常量值可以在MSDN中的CreateWindowEx函数的帮助文档中找到.

 

转载于:https://www.cnblogs.com/pythonschool/archive/2012/11/12/2766317.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值