懵懵燈燈的BLOG

          寒夜孤燈點(diǎn)點(diǎn)星

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            56 隨筆 :: 10 文章 :: 22 評論 :: 0 Trackbacks

          作一個(gè)CFormView,其中增加一個(gè)CListCtrl控件,想把這個(gè)控件的style設(shè)置為整行高亮顯示。
          在網(wǎng)上誤傳的方法為:

          1 void CMyView::OnInitialUpdate()
          2 {
          3     //INIT the control
          4     CFormView::OnInitialUpdate();
          5 
          6     CListCtrl * list=static_cast<CListCtrl*> (GetDlgItem(IDC_LIST));
          7     list->ModifyStyleEx(0,LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
          8     


          其中ModifyStyle 或者 ModifyStyleEx 都是修改的CWnd中的擴(kuò)展屬性,而正解為:

          1 void CMyView::OnInitialUpdate()
          2 {
          3     CFormView::OnInitialUpdate();
          4 
          5     CListCtrl * list=static_cast<CListCtrl*> (GetDlgItem(IDC_LIST));
          6     DWORD   dwStyle   =   list->GetExtendedStyle();   
          7     dwStyle   |=   LVS_EX_FULLROWSELECT   |   LVS_EX_GRIDLINES; 
          8     list->SetExtendedStyle(dwStyle);   

          另外兩個(gè)函數(shù)也容易引起誤解:
          CWnd::getExStyle
          CListCtrl::getExtendedStyle
          這兩個(gè)函數(shù)所得到的style不在同一個(gè)style空間,如果用混了出現(xiàn)的效果就會比較奇怪。

          最后感慨一下在網(wǎng)上傳播的東西真是很多錯誤。

          posted on 2007-12-09 23:44 懵懵燈燈 閱讀(6632) 評論(0)  編輯  收藏 所屬分類: MFC
          主站蜘蛛池模板: 中宁县| 蒙自县| 太仆寺旗| 黄冈市| 河池市| 沁源县| 叙永县| 久治县| 香河县| 新干县| 新化县| 丰都县| 敦煌市| 拜城县| 庄浪县| 腾冲县| 安仁县| 安丘市| 通榆县| 承德县| 疏勒县| 商城县| 五常市| 琼中| 民县| 湾仔区| 平阳县| 北川| 祁东县| 中宁县| 宁都县| 大关县| 遵化市| 林周县| 台南市| 嘉荫县| 海伦市| 枞阳县| 萝北县| 克什克腾旗| 叶城县|