1.如何將一個a類的控件m和c類(c繼承a)相關聯?
一般c類是自己寫的新類,繼承a類,控件m可以拖可以自己create;假設控件的id爲IDC_MYID;則寫上下面這兩句就ok了:
c my_a;
my_a.SubclassDlgItem(IDC_MYID,this);
這樣控件m就變成c類的控件了。
2.MFC中tab control的使用方法:
(1)先Insert Dialog,添加2個或者更多對話框,併爲這些對話框添加類。將對話框的style改爲child, Border改爲none.
(2)在主對話框中加入一個tab control 控件,併爲其添加一個CTabCtrl類型的變量 m_Tab.
(3)在主對話框的OnInitDialog()函數中增加:
m_Tab.InsertItem(0,_T("第一頁"/*此爲tab的第一個標籤上顯示的字*/));
m_Tab.InsertItem(1,_T("第二頁"));
(4)在主對話框的頭文件(.h)文件中,加入各個標籤頁的對象,(例如標籤頁的類分別爲A,B;)則寫上 A a;B b;
(5)在主對話框的OnInitDialog()函數中加上:
a.Create(IDD_CA,&&m_Tab); b.Create(IDD_CB,&&m_Tab);
第一個參數爲標籤頁的ID,第二個爲tab控件的變量
(6)在主對話框的頭文件中加入:
int choose;//用來指示選中了第幾頁(0,1,2,3……)
CDialog* c[2];//用來保存標籤頁的指針。
(7)在主對話框的(.cpp)文件中,OnInitDialog()函數里加上:
c[0]=&a; c[1]=&b;
c[0]->ShowWindow(SW_SHOW);
c[1]->ShowWindow(SW_HIDE);
choose=0;
(8)在Tab控件的OnTcnSelchangeTab1事件中加入:
c[choose]->ShowWindow(SW_HIDE);
choose=m_Tab.GetCurSel();
c[choose]->ShowWindow(SW_SHOW);
*pResult=0;
ok,完成。
3.MFC的全局變量怎麼寫?
其中一種簡單的方法是(1)在stdafx.cpp中 int a; (2)在stdafx.h中 extern int a;
4.To Be Continued…………………………