C++的TAB 控件自己的使用笔记

        第一次接触到TAB控件还要自己建几个窗口然后在进行置父窗口操作.为了防止已后自己忘记特做了这个笔记.因为是初学者,如果您看到了问题请告知我,我会非常的感谢您的.....

      步骤:

                  1.建一个TAB控件.

                  2.建几个窗口.

                  3.设置TAB的分页标题

	//----------设置TAB的标题-----------
	m_tabmain.InsertItem(1,"1测试");
	m_tabmain.InsertItem(2,"2测试");
	m_tabmain.InsertItem(3,"3测试");
	m_tabmain.InsertItem(4,"4测试");
	m_tabmain.InsertItem(5,"5测试");
          

                  创建页面窗口

	//-------创建页面窗口-----------------------
	page1.Create(IDD_PAG1,GetDlgItem(IDC_TAB1));
	page2.Create(IDD_PAG2,GetDlgItem(IDC_TAB1));
	page3.Create(IDD_PAG3,GetDlgItem(IDC_TAB1));
	page4.Create(IDD_PAG4,GetDlgItem(IDC_TAB1));
	page5.Create(IDD_PAG5,GetDlgItem(IDC_TAB1));


                    置父窗口

	//--------置父窗口-------------------------
	page1.SetParent(GetDlgItem(IDC_TAB1));
	page2.SetParent(GetDlgItem(IDC_TAB1));
	page3.SetParent(GetDlgItem(IDC_TAB1));
	page4.SetParent(GetDlgItem(IDC_TAB1));
	page5.SetParent(GetDlgItem(IDC_TAB1));


                   定义窗口大小

	//-----定义窗口大小------------------
	RECT r1;
	r1.left=1;
	r1.top=22;
	r1.bottom=300;
	 r1.right=500;


                    置窗口位置

	//-----设置窗口位置------------------------
	 page1.MoveWindow(&r1);
	 page2.MoveWindow(&r1);
	 page3.MoveWindow(&r1);
	 page4.MoveWindow(&r1);
	 page5.MoveWindow(&r1);

                      //---------默认显示page1                     page1.ShowWindow(TRUE);

                   选项卡的单击事件

void CMyGameWgDlg::OnSelchangeTab1(NMHDR* pNMHDR, LRESULT* pResult) //选项卡的单击事件
{
	// TODO: Add your control notification handler code here
	switch(m_tabmain.GetCurSel())//获取鼠标单击的选项卡.
	{
	case 0:
		{
			page1.ShowWindow(TRUE);//显示鼠标单击的选项卡对应窗口.
			page2.ShowWindow(FALSE);
			page3.ShowWindow(FALSE);
			page4.ShowWindow(FALSE);
			page5.ShowWindow(FALSE);
			break;
		}
	case 1:
		{
			page1.ShowWindow(FALSE);
			page2.ShowWindow(TRUE);
			page3.ShowWindow(FALSE);
			page4.ShowWindow(FALSE);
			page5.ShowWindow(FALSE);
			break;
		}
	case 2:
		{
			page1.ShowWindow(FALSE);
			page2.ShowWindow(FALSE);
			page3.ShowWindow(TRUE);
			page4.ShowWindow(FALSE);
			page5.ShowWindow(FALSE);
			break;
		}
	case 3:
		{
			page1.ShowWindow(FALSE);
			page2.ShowWindow(FALSE);
			page3.ShowWindow(FALSE);
			page4.ShowWindow(TRUE);
			page5.ShowWindow(FALSE);
			break;
		}
	case 4:
		{
			page1.ShowWindow(FALSE);
			page2.ShowWindow(FALSE);
			page3.ShowWindow(FALSE);
			page4.ShowWindow(FALSE);
			page5.ShowWindow(TRUE);			
			break;
		}
	}
	*pResult = 0;//清空被选单击选项卡的值,没该语句的话会不正常.

}


纯属个人笔记,,初学者理解错误难免,如果您发现了,请告诉我..谢谢您的帮助!!
                 

posted @ 2012-06-13 22:28  前方辉煌  阅读(1672)  评论(0编辑  收藏  举报