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…………………………