不進OnCtlColor()函數

在一個對話框上有CmyStatic控件,此控件繼承於Cstatic。因爲我們在繼承類中自己處理了Onpaint()函數,消息好像被截斷了,所以不進對話框的OnCtlColor()的函數。

有兩種解決方法:1.在CMyStatic的Onpaint()函數中調用SendMessage(WM_CTLCOLORSTATIC,...).

2.在CMyStatic中響應ON_WM_CTLCOLOR_REFLECT消息,注意不是ON_WM_CTLCOLOR.這個詳細可以查看“MFC 技術注意第62條”.

3.重載對話框的OnEraseBkgnd(),便可響應。(20091010補充,詭異啊~,估計是我們的CMyStatic用到了一個CTransparentHelper類,沒有處理好)。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章