改變List列表控制項中的字型顏色和單元格背景顏色

2021-06-12 03:12:22 字數 825 閱讀 8465

1、首先應該有乙個在對話方塊上的listctrl,並且listctrl屬性為report和多列模式

2、過載nm_customdraw訊息,手工新增或者用wizard新增均可以。手工新增的格式如下:

首先在訊息對映中加入以下**

on_notify(nm_customdraw, idc_list_***, &cdlg***::onnmcustomdraw***)

在標頭檔案中新增public:函式

afx_msg void onnmcustomdraw***(

nmhdr*, lresult*)

在cpp檔案中新增該函式的實現

3、函式的乙個具體實現如下:

void cdlg***::onnmcustomdraw***(nmhdr *pnmhdr, lresult *presult)

else if ( cdds_itemprepaint == plvcd->nmcd.dwdrawstage )

else if ( (cdds_itemprepaint | cdds_subitem) == plvcd->nmcd.dwdrawstage)}}

本例子實現了對'!'開頭的單元格字型以紅色顯示的功能。

不同mfc版本中的第一行型別轉換可能不一樣,為了處理單個單元格,將第一行注釋,直接copy第二行,下面的判斷語句也直接copy即可,具體含義可以檢視msdn。

plvcd->nmcd.dwitemspec表示當前行的索引值

plvcd->isubitem表示當前列的索引值

plvcd->clrtext代表當前單元格字型的顏色

plvcd->clrtextbk代表當前單元格的背景色

如何改變控制項的字型

由於控制項是也是視窗,使用者可以呼叫cwnd setfont指定新字型。該函式用 乙個cfont指標,要保證在控制項撤消之前不能撤消字型物件。下例將下壓按鈕的字 體改為8點arial字型 declare font object in class declaration h file private ...

python中改變list中list值的問題

l s 0,0,0 for i in range 3 l 1 1 1 print l 如上 定義乙個空list,新增元素也為list型別。本意是想改變list l中乙個值,使其結果為 0,0,0 0,1,0 0,0,0 但執行的結構下圖所示,將list l中的所有元素都改變了。為找到原因,檢視pyt...

Ubuntu中字型的改變

1.sudo dpkg reconfigure console setup 2.彈出 configuring console setup 介面,選擇適當的編碼格式,我們一般選擇預設的utf 8,選擇ok 3.在接下來的介面裡選擇字型,可以依次嘗試,我選擇預設的latin1 and latin5 we...