?
???? 一個View中用到了一個CListCtrl,在OnInitialUpdate函數里面他調用了m_listCtrl.ModifyStyleEx(0, LVS_EX_FULLROWSELECT);但是結果是并沒有改變View中這個ListCtrl的效果。
?
???? 仔細的查閱了MSDN的關于ModifyStyleEx的說明,發現沒什么可以的地方,調試幾遍發現也沒異常,最后在網上一搜索ModifyStyleEx,結果發現碰到這個問題的朋友還真不少,有一遍關于ModifyStyle和ModifyStyleEx無法改變樣式的解決方法的文章被轉載得到處都是,不僅感慨現在的互聯網信息重復程度~~結果看完文章很失望,他完全是重新Create了一個控件。
?
???? 最后經過努力,發現使用SetExtendStyle函數就可以實現改變Style的功能。
?
???? 有一點是可以肯定地,如果你重構一個控件繼承自CListCtrl,那么你可以在該控件的OnCreate中使用ModifyStyle或者ModifyStyleEx,這都是可以達到目的的,但是如果控件的一個實例是另一個窗口的成員變量,那么你在這個窗口的初始化函數中調用該控件的ModifyStyle或者ModifyStyleEx是不能達到目的的,有些關聯的一個說明是SetWindowLong會因為控件和調用者不在同一進程而失敗(ModifyStyle和ModifyStyleEx函數中有調用SetWindowLong).
posted on 2007-03-19 18:30
喬棟 閱讀(4069)
評論(1) 編輯 收藏 引用 所屬分類:
C++的健身房