程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於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)

							
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved