当前位置:编程学习 > C/C++ >>

使用对话框作为子窗口

 

使用对话框作为子窗口是一种很常用的技术,这样可以使界面设计简化而且修改起来更加容易。

简单的说这种技术的关键就在于创建一个无模式的对话框,并在编辑对话框资源时指明Child风格和无边框风格,如图。

接下来利用产生一个CDialog的派生类,并进行相关的消息映射。在创建子窗口时需要利用下面的代码:

int CMy59_s1View::OnCreate(LPCREATESTRUCT lpCreateStruct) 
{
         if (CView::OnCreate(lpCreateStruct) == -1)
                 return -1;
         
         //创建子窗口
         m_dlgChild.Create(IDD_CHILD_DLG,this);      
         //重新定位
         m_dlgChild.MoveWindow(0,0,400,200);
         //显示窗口
         m_dlgChild.ShowWindow(SW_SHOW);
         return 0;
}

此外还有一中类似的技术是利用CFormView派生类作为子窗口,在编辑对话框资源时也需要指明Child风格和无边框风格。然后利用ClassWizard产生以CFormView为基类的派生类,但是由于该类的成员函数都是受保护的,所以需要对产生的头文件进行如下修改:

class CTestForm : public CFormView
{
//将构造函数和构析函数改为共有函数
public:
         CTestForm();
         virtual ~CTestForm();
         DECLARE_DYNCREATE(CTestForm)

		
	
补充:软件开发 , C语言 ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,