【MFC】動態創建CMFCToolbar圖標不顯示問題


最近遇到一個問題,需要動態的從xml文件讀取一系列圖標文件,加載到一個toolbar中,由於使用的是vs2008 with sp1 feature pack,自然想到用CMFCToolbar來做,思路也很簡單

1、將圖標文件加入CMFCToolBarImages。

2、設置CMFCToolbar::SetUserImages為第1步中的CMFCToolBarImages。

3、繼承CMFCToolbar,在OnCreate中動態調用SetButtons或者InsertButton函數添加相應按鈕,或者在外部調用InsertButton public版本(引用)添加按鈕。

4、在MainFrm中動態創建工具條。

一切就緒后,問題出現了,工具欄圖標沒有顯示,而鼠標hover時tooltip中卻可以看見加載的圖標。

在網上google一天,始終得不到答案。

無奈之下,試着在Create后調用LoadToolbar,加載一個已經存在的toolbar資源,然后調用RemoveAllButtons,刪除原本的所有按鈕,然后再動態添加按鈕,奇跡出現了!所有圖片都能構顯示出來。

翻看源碼后,任然沒有找到答案,只有先記在這里。希望知道的人能告訴一聲。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM