CGridCtrl在MFC中的使用(一)


  CGridCtrl控件是開源的,可在CodePlex和CodeProject上搜索找到,是VC++中用於顯示表格數據的控件。基本功能包括:表格顯示,單元格的編輯,單元格顏色設置,鼠標事件的響應,單元格內嵌入圖片、CheckBox、ComboBox、Bitmap、Button等。

  CodeProject中的鏈接http://www.codeproject.com/Articles/8/MFC-Grid-control

  利用拖動控件在對話框中使用CGridCtrl

  使用CGridCtrl需要將源碼中的將GridCtrl_src文件夾和NewCellTypes內的所有文件添加到自己的工程當中。

  創建基於對話框的MFC工程,選擇Custom Control拖動到對話框上,如下圖所示

  

  在控件的屬性對話框中設置Class屬性為MFCGridCtrl(必須),控件ID設置為IDC_GRID(可自由設定),如下圖所示

 

  接下來利用ClassWizard為控件關聯變量,變量類型為CGridCtrl(圖中的CGridCtrlEx為CGridCtrl的派生類,是自己用於添加的項目需要的額外功能的類),控件類型為MFCGridCtrl,

 

  然后就可以像使用普通控件那樣使用CGridCtrl了。

  利用拖動控件在對話框中使用CGridCtrl

  在對話框上添加一個PictureBox類型的空間,控件ID設置為IDC_GRID,該控件用於確定CGridCtrl控件在對話框上的顯示位置,如圖所示。

  

 

  在對話框類的頭文件中增加CGridCtrl的指針類型變量

 

1 CGridCtrl* m_pGrid;

 

  在OnInitDialog()函數中增加如下代碼

 

1     int captionHeight = ::GetSystemMetrics(SM_CYCAPTION); 
2     int cxframe = GetSystemMetrics(SM_CXFRAME); 
3     int cyframe = GetSystemMetrics(SM_CYFRAME);
4 
5     CRect rectGridWnd;
6     rectGridWnd.OffsetRect(-cxframe,-cyframe-captionHeight);
7     m_pGrid = new CGridCtrl(5,5);
8     m_pGrid->Create(rectGridWnd,this,IDC_GRID);

   然后就可以利用m_pGrid進行各種操作了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM