1、首先建立乙個基於mfc對話方塊框架,在對話方塊資源上從工具箱中新增上乙個tab
control的控制項,根據需要修改一下屬性,然後右擊控制項,為這個控制項新增乙個變數,將此控制項跟乙個ctabctrl類變數繫結在一起,這裡設為m_tabctrl
2、建立兩個新的對話方塊資源,需要修改的屬性作如下:
border:none
//邊界為空,這樣它就沒了標題欄
style
:child
//
這樣這個模板就可以當作另乙個視窗的子視窗了。
然後從這兩個對話方塊模板生成兩個新的對話方塊類cdialog1,cdialog2。
3、在主對話方塊中為新新增進來的兩個類增加兩個變數:
cdialog1
m_mm1;
cdialog2
m_mm2;
新增完後,注意加上兩對話方塊的標頭檔案:
#include "dialog1.h",#include "dialog2.h"
4、在主對話方塊的oninitdialog()函式中新增如下類似的**:
bool ctabctrldlg::oninitdialog()
解釋如下:
insertitem函式是為了給標籤控制項增加兩個標籤頁面,文字是標題。
setwindowpos()函式設定這兩個對話方塊在z順序中的位置,顯示或隱藏狀態.。
5、在主對話中為標籤控制項新增乙個標籤選擇改變(tcn_selchange)的控制項通知訊息,以便在使用者選擇標籤時通知主對話方塊。在主對話方塊的編輯介面右擊標籤控制項,選擇新增乙個事件可以完成這個操作。
在事件處理中新增如下**,如下例:
void
ctabdialogdlg::ontcnselchangetab1(nmhdr
*pnmhdr,
lresult
*presult)
*presult = 0;
} 使 對話方塊 適用於 ctabctrl 的方法:
新建兩個對話方塊:
屬性為:
border: none
style: child
新增相應的類:
cmydlg1 mydlg1;
cmydlg2 mydlg2;
ctabctrl m_tabctrl;
bool ctabctrldlg::oninitdialog()
{int npos=0;
m_tabctrl.insertitem(npos++, _t("dlg1"));
m_tabctrl.insertitem(npos++, _t("dlg2"));
mydlg1.create(idd_dlg1, &m_tabctrl);
mydlg2.create(idd_dlg2, &m_tabctrl);
mydlg1.showwindow(sw_show);
mydlg2.showwindow(sw_hide);
bool cmydlg1::oninitdialog()
{crect rc(0,0,0,0);
getparent()->getclientrect(& rc);
((ctabctrl *)getparent())->adjustrect(false, &rc);
movewindow(&rc);
bool cmydlg1::oninitdialog()
{crect rc(0,0,0,0);
getparent()->getclientrect(& rc);
((ctabctrl *)getparent())->adjustrect(false, &rc);
movewindow(&rc);
mysql 的基本用法 mysql基本用法
mysql 5.1 中文參考手冊 show databases 顯示資料庫 drop database 資料庫名 刪除資料庫 set names utf8 設定資料庫編碼為utf 8 source x 資料庫名.sql 匯入乙個資料庫 use 資料庫名 嘗試訪問資料庫 create database...
mysql 的基本用法 mysql基本用法
mysql 5.1 中文參考手冊 show databases 顯示資料庫 drop database 資料庫名 刪除資料庫 set names utf8 設定資料庫編碼為utf 8 source x 資料庫名.sql 匯入乙個資料庫 use 資料庫名 嘗試訪問資料庫 create database...
this的基本用法
this 代表所在類的物件的引用。方法被那個物件呼叫,this就代表哪個物件,簡單的說,他就代表當前類的乙個物件。注意 誰呼叫這個方法,在方法內部的this就代表誰。this的應用場景 解決區域性變數,隱藏成員變數。class student 姓名設定值 public void setname st...