1.建立基於對話方塊的mfc
2.對話方塊新增入乙個標籤控制項,id為idc_tab1,成員變數:m_tab,ctabctrl型別
增加3個對話方塊idd_dialogpay,idd_dialogshipping,idd_dialoguser,都基於dialog基類建立,即預設建立
並且每個對話方塊的屬性為樣式:下層,邊框:無
新增如下圖的對應對話方塊控制項:
將第二個對話方塊的第乙個「普通快遞送貨上門」單選按鈕屬性設定:√組[g]
將第三個對話方塊的第乙個「貨到付款」單選按鈕屬性設定為:√組[g]
然後設定這2個按鈕的變數為int型別,變數名為m_nshippingtype和m_npaytype
user對話方塊的編輯框屬性分別為:m_strname,m_strphone,m_straddress,m_stremail (都為cstring型別)
3. 在主對話方塊的dlg標頭檔案中新增如下**:
#include
"dialogpay.h"
#include
"dialogshipping.h"
#include
"dialoguser.h"
在主對話方塊dlg類中定義公有成員:
cimagelist m_imagelist;
cdialoguser m_dlguser;
cdialogshipping m_dlgshipping;
cdialogpay m_dlgpay;
4.匯入3個圖示,用於顯示標籤項圖示。
名字為:idi_iconuser 、idi_iconshipping 、idi_iconpay
然後在dlg的自定義函式中新增如下:
m_imagelist.create(16,16,ilc_color16,3,0);
m_imagelist.setbkcolor(rgb(255,255,255));
m_tab.setimagelist(&m_imagelist);
m_tab.insertitem(0,"會員資訊",0);//前面的0表示該標籤索引號,後面的0表示該標籤的圖示.後面同理
m_tab.setitemsize(200);
m_tab.insertitem(1,"配送方式",1);
m_tab.setitemsize(200);
m_tab.insertitem(2,"付款方式",2);
m_tab.setitemsize(200);
//將3個對話方塊建立,並且附加到tabcontrol中,不是很理解這個東東
m_dlguser.create(idd_dialoguser,getdlgitem(idc_tab1));
m_dlgshipping.create(idd_dialogshipping,getdlgitem(idc_tab1));
m_dlgpay.create(idd_dialogpay,getdlgitem(idc_tab1));
//這下面的改變對話方塊的大小適應標籤控制項的大小其實是不存在的.
crect rect;
m_tab.getclientrect(&rect);//獲取tabcontrol控制項大小,為了使對話方塊能嵌入到裡面
//改變對話方塊的大小來適合tabctrol控制項的大小,並且在tabctrol控制項中首先顯示m_dlguser的頁面
m_dlguser.setwindowpos(null,10,20,rect.right-20,rect.bottom-40,swp_showwindow);//預設顯示user介面
5.利用標籤訊息tcn_selchange的訊息對映函式改變標籤框內的介面,tcn_selchange訊息是在標籤項被改變後發生。
//標籤項改變當前選擇後發生
void cmylabeldlg::onselchangetab1(nmhdr* pnmhdr, lresult* presult)
*presult = 0
;}
6.當使用者設定好所有標籤介面的內容後,按確定會出現報單介面:
void cmylabeldlg::onok()
switch(m_dlgpay.m_npaytype)
messagebox(strmessage,"資訊確認",mb_okcancel);
cdialog::onok();
}
MFC中Tab控制項的使用方法
1 首先建立乙個mfc對話方塊框架,在對話方塊資源上從工具箱中新增上乙個tab control 控制項,根據需要修改一下屬性,然後右擊控制項,為這個控制項新增乙個變數,將此控制項跟乙個ctabctrl類變數繫結在一起,這裡設為m tabctrl 2 建立兩個新的對話方塊資源,其屬性作如下修改 bor...
MFC 對話方塊中tab控制項的使用
1 首先建立乙個mfc對話方塊框架 在對話方塊資源上從工具箱中新增上乙個tab control 控制項,根據需要修改一下屬性,然後右擊控制項,為這個控制項新增乙個變數,將此控制項跟乙個ctabctrl類變數繫結在一起,這裡設為m tabctrl 2 建立兩個新的對話方塊資源,其屬性作如下修改 bor...
MFC 設定static(標籤)控制項背景透明
1 設定控制項的屬性transparent 為true 2 過載onctlcolor函式 在該函式體中加入以下 if pwnd getdlgctrlid idc x idc device stat為static控制項的id 3 解決重影問題,新增重新整理區域性背景的函式,該函式主要用於單獨重新整理所...