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

最近遇到一個問題,須要動態的從xml文件讀取一系列圖標文件,加載到一個toolbar中,因爲使用的是vs2008 with sp1 feature pack,天然想到用CMFCToolbar來作,思路也很簡單函數

一、將圖標文件加入CMFCToolBarImages。工具

二、設置CMFCToolbar::SetUserImages爲第1步中的CMFCToolBarImages。google

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

四、在MainFrm中動態建立工具條。繼承

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

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

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

翻看源碼後,任然沒有找到答案,只有先記在這裏。但願知道的人能告訴一聲。源碼

相關文章
相關標籤/搜索