支持对话框控件

来源:互联网 发布:花生壳赠送的免费域名 编辑:程序博客网 时间:2024/06/05 08:49

对Pen对话框来说,要把选中的线宽存储在CPenDialog类的数据成员m_PenWidth中。

可以通过右击CPenDialog类名,并从上下文菜单中选择适当菜单项的方法添加该数据成员,也可以直接把他添加到类定义。

class CPenDialog:public CDialog

{

//construction

public:

CPenDialog(CWnd* pParent=NULL);//standard constructor

//Dialog Data

public:

int m_PenWidth;//Record the pen width

//Plus the rest of the class definition...

};

使用m_PenWidth数据成员把对应于文档中当前线宽的单选按钮设置为选中状态,还要把对话框中的线宽存储在该成员中,以便在对话框关闭时也可以获取用户的选择。

以便在对话框关闭时也可以获取用户的选择。此刻,可以在类的构造函数中把m_PenWidth初始化为0.

1.初始化控件

可以通过重写在基类CDialog中定义的OnInitDialog()函数来初始化按钮。OnInitDialog()函数是在响应WM_INITDIALOG消息时被调用的,该消息是在执行DoModal()的过中,正好在显示对话框之前发送的。

2.处理按钮消息

可以给CPenDialog类添加BN_CLICKED消息的处理程序。

void CPenDialog::OnPenwidth0()

{

m_PenWidth=0;

}

3.完成对话框的操作

必须修改CSketcherDoc类中的OnPenwidth()处理程序,才能使对话框有效。

//handler for the pen width menu item

void CSketcherDoc::OnPenwidth()

{

CPenDialog aDlg;

//set the pen width in the dialog to that stored in the document

aDlg.m_PenWidth=m_PenWidth;

//DIsplay the dialog as modal

//when closed with OK,get the pen width

if(aDlg.DoModal()==IDOK)

m_PenWidth=aDlg.m_PenWidth;

}

首先把在文档的m_PenWidth成员中存储的线宽传递给aDlg对象的m_PenWidth成员;还需要给CSketcherDoc类添加m_PenWidth成员。

注意:即使用DoModal()函数返回某个值时对话框关闭,aDlg对象也仍然存在,因此可以放心地调用该对象的成员函数。aDlg对象是在从OnPenwidth()函数返回时自动销毁。

 

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 双眼杯盘比增大,怎么办 出完精子腰疼怎么办 备孕2年没怀孕怎么办 发现怀孕了不想要怎么办 造影后通而不畅怎么办 脑梗病人晚上闹怎么办 两眼视力差距400怎么办 脑血清颗粒吃多怎么办 脸过敏吃了海鲜怎么办 如果qq密码忘了怎么办 qq密码被盗了该怎么办 qq号被别人盗了怎么办 qq不想让别人用怎么办 买了金科的房子怎么办 蟹爪莲叶子耷拉怎么办 金钻的叶子发黄怎么办 金钻叶子发焦黄怎么办 红钻叶子黄了怎么办啊 绿钻叶子黄斑点怎么办 金钻的叶子卷怎么办 金钻叶子有黑斑怎么办 怀孕60天没有胎心胎芽怎么办 单位不给交社保怎么办 公司没给足产假怎么办 小公司不给产假怎么办 机关不给陪产假怎么办 刚人流后又怀孕怎么办 怀孕50天不想要怎么办 生了孩子不想要怎么办 刚怀孕不想要孩子怎么办 怀孕一周不想要孩子怎么办 怀孕了不想要孩子怎么办 怀上二胎后悔了怎么办 50岁怀了二胎怎么办 老公那方面太强怎么办 被私人医院骗了怎么办 我特别烦我妈怎么办 刚怀孕了有炎症怎么办 怀孕了但有炎症怎么办 20岁脸上肉松弛怎么办 20岁脸部肉松弛怎么办