MFC控制項之listControl簡單應用

2021-08-04 06:46:32 字數 3293 閱讀 4262

屬性:

view : 圖示(icon)、小圖示(small icon)、列表(list)、報表(report)

設定風格:

dword dwstyle = m_list.getextendedstyle(); //獲取list control的風格

dwstyle |= lvs_ex_fullrowselect; //整行選中

dwstyle |= lvs_ex_gridlines; //顯示網格線

m_list.setextendedstyle(dwstyle); //將配置的風格新增到list control控制項上

m_list.insertcolumn(0, _t("姓名"), lvcfmt_left, 25);

m_list.insertcolumn(1, _t("性別"), lvcfmt_left, 60);

m_list.insertcolumn(2, _t("年齡"), lvcfmt_left, 80);

typedef struct

columnstruct;

columnstruct g_column =

, ,

};int count = 3;

for (int i = 0; i < count; i++)

插入行:
m_list.insertitem(0, _t("000"));        // 引數1 插入位置; 引數2 第一列文字

m_list.setitemtext(0, 1, _t("111")); // 設定第0行第1列的文字內容

m_list.setitemtext(0, 2, _t("222")); // 設定第0行第2列的文字內容

m_list.insertitem(1, _t("333"));

m_list.setitemtext(1, 1, _t("444"));

m_list.setitemtext(1, 2, _t("555"));

m_list.insertitem(2, _t("666"));

m_list.setitemtext(2, 1, _t("777"));

m_list.setitemtext(2, 2, _t("888"));

m_list.setitemtext(2, 3, _t("999"));

選擇整行:

m_list.setextendedstyle(lvs_ex_fullrowselect);   //設定選中整行

lvs_ex_checkboxes

您可以獲得 listview_getcheckstate 指定專案的核取方塊的狀態。若要設定檢查狀態,請使用 listview_setcheckstate。如果設定了此樣式,則當使用者單擊該核取方塊,或按空格鍵在列表檢視控制項自動切換複選狀態。

lvs_ex_flatsb

扁平滾動條

列表檢視中的啟用平面滾動條。如果您需要更多的控制列表檢視滾動條的外觀,您應該操作平的滾動欄 api 使用直接的列表檢視滾動條。如果更改系統度量,您負責調整與 flatsb_setscrollprop 的滾動欄度量。有關進一步的詳細資訊請參閱平滾動條。

lvs_ex_fullrowselect

選擇整行

當選擇某個專案時,強調了專案和其所有子項。此樣式是僅在 lvs_report 風格結合中可用。

lvs_ex_gridlines

顯示項及其子項周圍的網格線。此樣式是僅在 lvs_report 風格結合中可用

lvs_ex_headerdragdrop

報表頭可以拖拽

允許拖放的列表檢視控制項中的列重新排序。此樣式是只可用於使用 lvs_report 樣式的列表檢視控制項。

lvs_ex_infotip

將提示資訊視窗的訊息通知父視窗

當列表檢視控制項使用的 lvs_ex_infotip 樣式時,lvn_getinfotip 通知**傳送到父視窗顯示工具提示項之前。

lvs_ex_labeltip

lvs_ex_multiworkareas

多工作區

lvs_ex_oneclickactivate

單擊啟用

lvs_ex_regional

lvs_ex_subitemimages

lvs_ex_trackselect

自動換行

lvs_ex_twoclickactivate

雙擊啟用

lvs_ex_underlinecold

lvs_ex_underlinehot

獲取使用者選定的條目索引:

int iselect = m_list.getselectionmark();  //獲取使用者選定的條目索引

刪除指定行:

m_list.deleteitem(0);

刪除指定列:

m_list.deletecolumn(0);

刪除全部:

m_list.deleteallitems();                                           //這只不過是刪除列表框中的內容

移除全部:

m_list.removeall();

設定列寬:

crect m_rect;

m_list.getclientrect(m_rect);

m_list.setcolumnwidth(cindex, m_rect.width()/3);

eg:crect m_rect;

m_list.getclientrect(m_rect);

m_list.setcolumnwidth(0, m_rect.width()/4);

設定顏色:

m_list.setbkcolor((dword)rgb(255,255,255));   //listctrl背景色(白色)

m_list.settextbkcolor((dword)rgb(0,0,0)); //每一行的背景色(黑色)

m_list.settextcolor((dword)rgb(255,0,0)); //每一行的文字顏色(紅色)

MFC 控制項 列表顯示資料ListControl

一 新聞方式列表顯示 首先給控制項idc list1新增乙個變數 m list bool ctest3dlg oninitdialog 二 圖示列表顯示 1 public cimagelist m imglist 2 資源檢視,新增ico圖示 bool ctest3dlg oninitdialog ...

MFC控制項之CControlBar

有時候我們經常把對話方塊和檢視結合起來,做成autocad命令輸入框 photoshop浮動框之類的效果。但很奇怪的是我看過的mfc的書上都沒有特別說明過這樣的工作該如何去做,我剛接觸mfc的時候都是通過控制非模態對話方塊來模擬的,後來才知道這些工作是通過ccontrolbar的派生類來完成的。比如...

MFC控制項之CMonthCalCtrl

cmonthcalctrl這個控制項是月曆控制項。我使用的時候發現,xp,win7下該控制項的的大小有點不正常。情況是這樣的,我在win7上用vs2010拖放控制項位置後,在win7上執行位置是正確的,但是你在winxp下執行就會發現,控制項變樣了,月曆的星期的提示變成漢字了,在win7上就兩個字,...