戻る
MFC GridCtrlの使い方
MFCダイアログアプリで使用できるフリーのグリッドコントロールクラスの使い方。
使い方
@
CODE PROJECTからソースファイルをダウンロードする。
AMFCダイアログアプリのプロジェクトを作成し、ダウンロードしたソース(.cpp,.h)をプロジェクトに追加する。
Bダイアログにカスタムコントロールを貼り付ける。
CカスタムコントロールのプロパティでClassをMFCGridCtrlにする。
Dカスタムコントロールにコントロール変数を追加する。
CGridCtrl m_Grid;
EダウンロードしたヘッダファイルのGridCtrl.hをインクルードする。
Fグリッドの初期化と各種設定を行う。
// グリッドの初期化を行う。
m_Grid.EnableDragAndDrop(TRUE);
m_Grid.GetDefaultCell(FALSE, FALSE)->SetBackClr(RGB(0xFF, 0xFF, 0xE0));
m_Grid.SetEditable(TRUE);
m_Grid.SetVirtualMode(FALSE);
// 行数を設定する。
m_Grid.SetRowCount(17);
// 列数を設定する。
m_Grid.SetColumnCount(17);
// タイトル行数を設定する。
m_Grid.SetFixedRowCount(1);
// タイトル列数を設定する。
m_Grid.SetFixedColumnCount(1);
m_Grid.SetColumnResize(FALSE);
m_Grid.SetRowResize(FALSE);
// 行の高さを設定する。
m_Grid.SetRowHeight(i, 20);
// 列の幅を設定する。
m_Grid.SetColumnWidth(j, 40);
// 任意のセルのフォーマットを設定する。
m_Grid.SetItemFormat(i, j, DT_CENTER|DT_VCENTER|DT_SINGLELINE|DT_NOPREFIX|DT_END_ELLIPSIS);
// 任意のセルの文字列の書式を設定する。
m_Grid.SetItemTextFmt(i, j, "%02d", 1);
// カスタムコントロールのサイズをGridのサイズに合わせる。
RECT rect;
SetRect(&rect, 0, 0, m_Grid.GetVirtualWidth() - 1, m_Grid.GetVirtualHeight() - 1);
AdjustWindowRectEx(&rect, m_Grid.GetStyle(), FALSE, m_Grid.GetExStyle());
m_Grid.SetWindowPos(NULL, 0, 0, rect.right - rect.left + 1, rect.bottom - rect.top + 1, SWP_NOMOVE);
G任意のセルをいじる場合は、セルクラスを取得してクラスのメソッドで色々と設定できる。
// セルクラスを取得する。
m_Grid.GetCell(i, j)