VC Tab控制項的用法

2021-06-06 16:20:22 字數 1944 閱讀 3151

vc中的ctabctrl用法與vb、delphi的選項卡控制項有很大的不同,每個屬性頁是用乙個「窗體」(對話方塊)來實現,於是要為每個屬性頁對話方塊建類,還要關聯、初始化„„實在麻煩得多。但是ctabctrl可重用性比activex的選項卡控制項好,因為乙個屬性頁可以被多個不同的選項卡對話方塊呼叫,就像mfc中很多屬性選項卡有「general」這一選項頁,可以被多個控制項的屬性頁呼叫,作為「通用」的,有符合現代軟體工程可重用性要求。

下面發乙個最簡單的**,使用ctabctrl控制項實現屬性頁功能。

1、建立乙個基於對話方塊的應用程式;

2、畫ctabctrl控制項,類嚮導中關聯變數名為m_tab,新建三個對話方塊屬性設為child,none,用classwizard生成新的類,基類為cdialog,分別為cpage0,cpage1,cpage2,id號分別為idd_dialog0,idd_dialog1,idd_dialog2。在主對話方塊中加入三個變數,cpage0 page0;cpage1 page1;cpage2 page2。別忘了在主對話方塊的標頭檔案中要加入#include "page0.h",#include "page1.h",#include "page2.h"

3、在主對話方塊的oninitdialog()內初始化 :

// todo: add extra initialization here

//初始化m_tab控制項

m_tab.insertitem(0," 呵呵,茂葉工作室 ");

m_tab.insertitem(1," 嘻嘻 ");

m_tab.insertitem(2," 哈哈,www.maoyeah.com ");

//建立屬性頁各頁

page0.create(idd_dialog0,getdlgitem(idc_tab1));

page1.create(idd_dialog1,getdlgitem(idc_tab1));

page2.create(idd_dialog2,getdlgitem(idc_tab1));

//設定頁面的位置在m_tab控制項範圍內

crect rect;

m_tab.getclientrect(&rect);

rect.top+=20;

rect.bottom-=5;

rect.left+=5;

rect.right-=5;

page0.movewindow(&rect);

page1.movewindow(&rect);

page2.movewindow(&rect);

page1.showwindow(true);

m_tab.setcursel(1);

4、m_tab控制項屬性頁選擇時顯示各頁:

void cmy3dlg::onselchangetab1(nmhdr* pnmhdr, lresult* presult)

// todo: add your control notification handler code here

int cursel;

cursel=m_tab.getcursel();

switch(cursel)

case 0:

page0.showwindow(true);

page1.showwindow(false);

page2.showwindow(false);

break;

case 1:

page0.showwindow(false);

page1.showwindow(true);

page2.showwindow(false);

break;

case 2:

page0.showwindow(false);

page1.showwindow(false);

page2.showwindow(true);

break;

default: ;

*presult = 0;

C CheckedListBox控制項的用法

1.新增項 checkedlistbox1.items.add 藍色 checkedlistbox1.items.add 紅色 checkedlistbox1.items.add 黃色 2.判斷第i項是否選中,選中為true,否則為false if checkedlistbox1.getitemch...

Literal控制項的用法

1 literal的一般用法,與label對比 msdn上的解釋 使用 system.web.ui.webcontrols.literal 控制項在網頁上保留顯示文字的位置。literal 控制項與 label 控制項類似,但 literal 控制項不允許對所顯示的文字應用樣式。可以通過設定 tex...

CheckedListBox控制項的用法

1.新增項 checkedlistbox1.items.add 藍色 checkedlistbox1.items.add 紅色 checkedlistbox1.items.add 黃色 新增display和value專案 public class checkedlistboxitem public ...