欢迎来到天天文库
浏览记录
ID:20276402
大小:71.50 KB
页数:6页
时间:2018-10-11
《孙鑫第8课--对话框的编程(属性页,属性表单)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、选择一个基于对话框的MFC工程。下面做一个逃跑按钮。在对话框上添加两个按钮。新建一个CBtn,基类是CButton.为这个类添加:CBtn*pbtn;为这两个按钮关联新建立的这个按钮类。在BOOLCTestDlg::OnInitDialog()中添加:m_btn1.pbtn=&m_btn2;m_btn2.pbtn=&m_btn1;voidCBtn::OnMouseMove(UINTnFlags,CPointpoint){//TODO:Addyourmessagehandlercodehereand/orcalldefaultShowWindow(SW_HIDE);pbtn->ShowWin
2、dow(SW_SHOW);CButton::OnMouseMove(nFlags,point);}运行,达到效果,但是初始化运行的时候能看到两个按钮。为此做如下修改:将其中一个按钮的可见性不选。下面是属性表单和向导的创建:创建一个MFC的单文档程序。为菜单增加一个显示属性表单的按钮,并添加VIEW类中响应。添加三个属性页对话框。(由于在上面要写中文,将属性改为中文),并为这三个属性页创建一个类,再新建一个对话框,为它创建一个属性表单类。在属性表单的头文件中添加:(要包含三个属性页的头文件)public:CPage1m_page1;CPage2m_page2;CPage3m_page3;为属
3、性表单的构造函数:CPageSheet::CPageSheet(UINTnIDCaption,CWnd*pParentWnd,UINTiSelectPage):CPropertySheet(nIDCaption,pParentWnd,iSelectPage){AddPage(&m_page1);AddPage(&m_page2);AddPage(&m_page3);}CPageSheet::CPageSheet(LPCTSTRpszCaption,CWnd*pParentWnd,UINTiSelectPage):CPropertySheet(pszCaption,pParentWnd,iS
4、electPage){AddPage(&m_page1);AddPage(&m_page2);AddPage(&m_page3);}voidCTestView::OnPage(){//TODO:AddyourcommandhandlercodehereCPageSheetps("属性表单");ps.SetWizardMode();//设置向导,如没这句,不是设置向导。ps.DoModal();}CPageSheet类不用关联任何的对话框,直接创建这个类。为单选按钮关联一个成员变量。BOOLCPage1::OnSetActive(){//TODO:Addyourspecializedcode
5、hereand/orcallthebaseclassCPageSheet*psheet=(CPageSheet*)GetParent();psheet->SetWizardButtons(PSWIZB_NEXT);returnCPropertyPage::OnSetActive();}BOOLCPage2::OnSetActive(){CPropertySheet*psheet=(CPropertySheet*)GetParent();psheet->SetWizardButtons(PSWIZB_BACK
6、PSWIZB_NEXT);returnTRUE;}BOOLCPage3::OnSe
7、tActive(){//TODO:Addyourspecializedcodehereand/orcallthebaseclassCPropertySheet*psheet=(CPropertySheet*)GetParent();psheet->SetWizardButtons(PSWIZB_BACK
8、PSWIZB_FINISH);returnCPropertyPage::OnSetActive();}BOOLCPage1::OnInitDialog(){CPropertyPage::OnInitDialog();//TODO:Addextrainitializationhere((CL
9、istBox*)GetDlgItem(IDC_LIST1))->AddString("北京");((CListBox*)GetDlgItem(IDC_LIST1))->AddString("上海");((CListBox*)GetDlgItem(IDC_LIST1))->AddString("广州");returnTRUE;//returnTRUEunlessyousetthefocustoacontrol//EXCEP
此文档下载收益归作者所有