前言
鼓搗mfc中的工具欄時用到了cimagelist,沒仔細翻閱資料就開始用,結果出現了win7 (32/64bit)系統中顯示沒問題,到xp和2003下就只顯示黑色的問題...
正文
一、問題**及截圖
1.1 截圖
1.1.1 win7
1.1.2 win2003 / xp
1.2 **
cimagelist m_iltb;
cbitmap m_about;
cbitmap m_config;
cbitmap m_exit;
m_iltb.create(
32,
32, true
|ilc_color8, 3,
0);m_iltb.setbkcolor(::getsyscolor(color_btnface));
//:getsyscolor(color_btnface)
//rgb(0, 0, 0) &m_config
//hicon hicon = null;
m_config.loadbitmap(idb_bitmap_config);
m_iltb.add(
&m_config,
&m_config
);m_about.loadbitmap(idb_bitmap_about);
m_iltb.add(
&m_about,
&m_about
);m_exit.loadbitmap(idb_bitmap_exit);
m_iltb.add(
&m_exit,
&m_exit
);m_*******.get*******ctrl().setimagelist(
&m_iltb);
**說明:
a). idb_bitmap_config、idb_bitmap_about、idb_bitmap_exit為三張bmp.
b). 這段**加在oninitdialog中
二、函式說明
2.2 add方法
intadd(
cbitmap
*pbmimage,
cbitmap
*pbmmask
);int
add(
cbitmap
*pbmimage,
colorref crmask
);int
add(
hicon hicon );
1.2中是用的第乙個過載,關鍵是第二個引數pbmmask,網路上的翻譯是:指向包含掩碼的點陣圖的指標。如果無掩碼與圖象列表一起使用,此引數被忽略。而後來翻閱資料才知道一般人用的是第二個方法過載,通過crmask來實現透明效果。
三、正常**
m_config.loadbitmap(idb_bitmap_config);
m_iltb.add(
&m_config,rgb(
255,
255,
255));
m_about.loadbitmap(idb_bitmap_about);
m_iltb.add(
&m_about,rgb(
255,
255,
255));
m_exit.loadbitmap(idb_bitmap_exit);
m_iltb.add(
&m_exit,rgb(
255,
255,
255));
修改完後在xp、2003、win7下居顯示正常!
結束
這問題還真是不好找,關鍵是不報錯,而且還在win7下能正常顯示,看來用之前還是要先好好看看例子再用 :)
MFC CImageList僅顯示黑色的問題
前言 鼓搗mfc中的工具欄時用到了cimagelist,沒仔細翻閱資料就開始用,結果出現了win7 32 64bit 系統中顯示沒問題,到xp和2003下就只顯示黑色的問題.正文 一 問題 及截圖 1.1 截圖 1.1.1 win7 1.1.2 win2003 xp 1.2 cimagelist m...
bootstrap datepicker顯示中文
網上教你怎麼顯示中文很多,我也看了很多。但是並沒有解決我顯示不了中文的疑惑。一般來說引入的方式首先是引入樣式指令碼 src script src script 然後是在datepicker中設定language zh cn start datepicker 上面這個版本是正確的,但是為什麼當時我會一...
Element ui DatePicker顯示週數
我們公司是做電商的,運營的工作指標都是按周來定的,所以他們對周特別敏感,希望我們能在日期選擇器上顯示週數。剛接到這個需求時,心中很不樂意,因為element ui的日期選擇器根本不支援顯示週數。我只能看看原始碼來看看能否有解決的辦法 具體 大家可以在github中看到 我們很輕鬆就能找到datepi...