2011年8月10日 星期三

A Good Grid Control for MFC

最近為了寫一個工具程式, 要用到 grid, 找了一下網路上現成的元件, 發現 MFC Grid Control 還不錯.

在 VS2010 中使用這個元件, 先將 MFC Grid Control 相關的檔案都加進 project, 編譯看看, 結果發現 MFC Grid Control 中的 CMemDC 與 MFC 內建的 CMemDC 相沖突, 最直覺的解決方法就是將 MFC Grid Control 中的 CMemDC class 改名, 並且將用到此型態的地方也一起改掉, 這樣編譯就沒問題了.

接下來, 加入元件至 dialog 中:
  1. 在 dialog 中加一個 Custom Control
  2. 設定它的 Class 屬性為 MFCGridCtrl.
  3. 設定它的 ID 屬性.
  4. 在 Custom Control 上按右鍵, 選 Add Variable...
  5. 設定 Variable type 為 CGridCtrl.
  6. 給定一個變數名.
  7. 按下 Finish 按鈕產生變數及 DDX 支援.
初使化 grid:
  1. 寫一個初使化 grid 的函式, 並在 dialog 的 OnInitDialog 事件中呼叫它.
  2. 叫用 grid 的 SetRowCount() 設定列數, 列數包含固定列(縱標頭).
  3. 叫用 grid 的 SetColumnCount() 設定行數, 行數包含固定行(橫標頭).
  4. 叫用 grid 的 SetFixedRowCount() 設定固定列數.
  5. 叫用 grid 的 SetFixedColumnCount() 設定固定行數.
至此, 程式執行後, 一個 grid 就會出現了.

此 MFC Grid Control 還有更多的功能及事件處理可以用, 在 code project 網站中還有更多的說明, 並可下載範例.


更多資訊:
MFC Grid Control

沒有留言:

張貼留言