MFC控制項的使用方法

2021-08-08 10:56:40 字數 1866 閱讀 2283

ddx_control的含義

mfc有所謂的資料交換和資料檢驗(ddx/ddv)。ddx(dialog data exchange)將對話方塊中的控制項對應到類的成員變數上,可以令控制項的內容一有改變就自動傳送到變數去,還可以借mfc提供的ddv設定欄位的合理範圍。如果對變數內容有任何「確認規則」的話,用ddv(dialog data validation)。

combo-box控制項用法:

mfc控制項的使用主要包括在資源介面的拖畫和熟悉控制項對應的成員函式的使用。

1)將combo-box控制項新增到已建立的對話方塊上。id修改為idc_combo_test

2)用class wizard新增idc_combo_test對應的成員變數。

這樣就在對話方塊類的標頭檔案中看到:

ccombobox m_cbtest;
在實現檔案的dodataexchange看到:

ddx_control(pdx, idc_combo_test, m_cbtest);
3)向idc_combo_test的下拉列表中新增內容,有幾種方式

第一種:在屬性的data選項中新增內容,並用分號隔開。

4)第二種:呼叫m_cbtest的成員函式,有兩個成員函式可以使用:

addstring和insertstring。

cstring str1 = _t("data1");

cstring str2 = _t("data2");

cstring str3 = _t("data3");

m_cbtest.addstring(str1);

m_cbtest.addstring(str2);

m_cbtest.addstring(str3);

//或

m_cbtest.insertstring(0, str3);

m_cbtest.insertstring(1, str2);

m_cbtest.insertstring(2, str1);

5)獲取控制項的內容:

int nselect;

cstring str;

nselect = m_cbtest.getcursel();//獲取列表中選中某項後的索引

m_cbtest.setcursel(0);//設定0索引為當前項,就是顯示0的內容

str = m_cbtest.getlbtext(nselect, str);//根據索引獲取相應的字串

另外一種用法就是給列表項關聯乙個32位數。

dword_ptr getitemdata(int nindex) const;//獲取組合框中指定項所關聯的32位資料。nindex引數指定組合框控制項的列表框某項的索引(從0開始)。

int setitemdata(int nindex,dword_ptr dwitemdata);//為某個指定的組合框列表項設定乙個關聯的32位數。nindex引數指定要進行設定的列表項索引。dwitemdata引數指定要關聯的新值。

6)其他的一些用法就不再贅述了,比如combo-box控制項有三種型別,分別是drop list、******、dropdown。

MFC 虛擬列表控制項的使用方法

問題 軟體需要從網路上每次獲取乙個10000byte的資料報,並通過列表實時顯示出來。列表有兩列,除去表頭,有10000行。開始用mfc自帶的listctrl控制項,每次獲得10000個的資料顯示的時候重新整理需要很長時間,顯示很慢。解決方法 使用虛擬列表。具體步驟 1.將listctrl控制項的o...

MFC中Tab控制項的使用方法

1 首先建立乙個mfc對話方塊框架,在對話方塊資源上從工具箱中新增上乙個tab control 控制項,根據需要修改一下屬性,然後右擊控制項,為這個控制項新增乙個變數,將此控制項跟乙個ctabctrl類變數繫結在一起,這裡設為m tabctrl 2 建立兩個新的對話方塊資源,其屬性作如下修改 bor...

C ToolTip控制項的使用方法

c tooltip控制項的使用方法 一 tooltip資訊提示框 c 中提供了資訊提示框,這有很多用處,可以提示控制項或者使用者自定義的屬性資訊,而且可以自動彈出或者使用者指定彈出,也可以動畫效果彈出。但是這個控制項設計和實現有很多不好的地方,使用的時候需要一些技巧。二 使用方法 1 滑鼠移動到控制...