戻る

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)
inserted by FC2 system