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