CMFCHeaderCtrl クラス
CMFCHeaderCtrl
クラスは、ヘッダー コントロール内の複数の列の並べ替えをサポートしています。
構文
class CMFCHeaderCtrl : public CHeaderCtrl
メンバー
パブリック コンストラクター
名前 | 説明 |
---|---|
CMFCHeaderCtrl::CMFCHeaderCtrl | CMFCHeaderCtrl オブジェクトを構築します。 |
CMFCHeaderCtrl::~CMFCHeaderCtrl |
デストラクターです。 |
パブリック メソッド
名前 | 説明 |
---|---|
CMFCHeaderCtrl::EnableMultipleSort | 現在のヘッダー コントロール 複数列の並べ替え モードを有効または無効にします。 |
CMFCHeaderCtrl::GetColumnState | 列が並べ替えられないか、昇順または降順で並べ替えられているかを示します。 |
CMFCHeaderCtrl::GetSortColumn | ヘッダー コントロール内の最初の並べ替えられた列の 0 から始まるインデックスを取得します。 |
CMFCHeaderCtrl::GetThisClass |
このクラス型に関連付けられている CRuntimeClass オブジェクトへのポインターを取得するためにフレームワークによって使用されます。 |
CMFCHeaderCtrl::IsAscending | ヘッダー コントロール内の列を昇順で並べ替えるかどうかを示します。 |
CMFCHeaderCtrl::IsDialogControl | 現在のヘッダー コントロールの親ウィンドウがダイアログ ボックスかどうかを示します。 |
CMFCHeaderCtrl::IsMultipleSort | 現在のヘッダー コントロールが複数列の並べ替え モードかどうかを示します。 |
CMFCHeaderCtrl::RemoveSortColumn | 並べ替え列の一覧から指定した列を削除します。 |
CMFCHeaderCtrl::SetSortColumn | ヘッダー コントロール内の指定した列の並べ替え順序を設定します。 |
保護メソッド
名前 | 説明 |
---|---|
CMFCHeaderCtrl::OnDrawItem | ヘッダー コントロール列を描画するためにフレームワークによって呼び出されます。 |
CMFCHeaderCtrl::OnDrawSortArrow | 並べ替え矢印を描画するためにフレームワークによって呼び出されます。 |
CMFCHeaderCtrl::OnFillBackground | ヘッダー コントロール列の背景を埋めるためにフレームワークによって呼び出されます。 |
例
次の例では、 CMFCHeaderCtrl
クラスのオブジェクトを構築する方法と、現在のヘッダー コントロール 複数列の並べ替え モードを有効にする方法を示します。
CMFCHeaderCtrl *headerCtrl = new CMFCHeaderCtrl();
headerCtrl->EnableMultipleSort();
解説
CMFCHeaderCtrl
クラスは、列が並べ替えられていることを示す並べ替え矢印をヘッダー コントロール列に描画します。 親リスト コントロール (CMFCListCtrl クラス) 内の列のセットを同時に並べ替えることができる場合は、複数列の並べ替えモードを使用します。
継承階層
要件
Header: afxheaderctrl.h
CMFCHeaderCtrl::CMFCHeaderCtrl
CMFCHeaderCtrl
オブジェクトを構築します。
CMFCHeaderCtrl::CMFCHeaderCtrl()
解説
このコンストラクターは、次のメンバー変数を指定された値に初期化します。
メンバー変数 | 値 |
---|---|
m_bIsMousePressed |
FALSE |
m_bMultipleSort |
false |
m_bAscending |
TRUE |
m_nHighlightedItem |
-1 |
m_bTracked |
FALSE |
m_bIsDlgControl |
FALSE |
m_hFont |
NULL |
CMFCHeaderCtrl::EnableMultipleSort
現在のヘッダー コントロール 複数列の並べ替え モードを有効または無効にします。
void EnableMultipleSort(BOOL bEnable=TRUE);
パラメーター
bEnable
[in]複数列の並べ替えモードを有効にする場合は TRUE。複数列の並べ替えモードを無効にし、並べ替えられた列の一覧から列を削除する場合は FALSE。 既定値は TRUE です。
解説
複数列の並べ替えモードを有効または無効にするには、このメソッドを使用します。 ヘッダー コントロールが複数列の並べ替えモードの場合、2 つ以上の列を並べ替えに参加させることができます。
CMFCHeaderCtrl::GetColumnState
列が並べ替えられていないか、昇順または降順で並べ替えられているかを示します。
int GetColumnState(int iColumn) const;
パラメーター
iColumn
[in]列の 0 から始まるインデックス。
戻り値
指定した列の並べ替え状態を示す値。 可能な値を次の表に示します。
値 | 説明 |
---|---|
-1 | 降順で並べ替えられます。 |
0 | 並べ替えされていません。 |
1 | 昇順で並べ替えられます。 |
解説
CMFCHeaderCtrl::GetSortColumn
ヘッダー コントロール内の最初の並べ替えられた列の 0 から始まるインデックスを取得します。
int GetSortColumn() const;
戻り値
並べ替えられた列のインデックス。並べ替えられた列が見つからない場合は -1。
解説
ヘッダー コントロールが 複数列並べ替え モードで、デバッグ モードでアプリケーションをコンパイルした場合、このメソッドは、代わりに CMFCHeaderCtrl::GetColumnState メソッドを使用することを推奨します。 ヘッダー コントロールが複数列並べ替えモードで、アプリケーションをリテール モードでコンパイルした場合、このメソッドは -1 を返します。
CMFCHeaderCtrl::IsAscending
ヘッダー コントロール内の列を昇順で並べ替えるかどうかを示します。
BOOL IsAscending() const;
戻り値
ヘッダー コントロール内の列が昇順で並べ替えられている場合は TRUE。それ以外の場合は FALSE。
解説
このメソッドが返す値は、ヘッダー コントロール項目に適切な並べ替え矢印を表示するために使用されます。 並べ替え順序を設定するには、 CMFCHeaderCtrl::SetSortColumn メソッドを使用します。
CMFCHeaderCtrl::IsDialogControl
現在のヘッダー コントロールの親ウィンドウがダイアログ ボックスかどうかを示します。
BOOL IsDialogControl() const;
戻り値
現在のヘッダー コントロールの親ウィンドウがダイアログ ボックスの場合は TRUE。それ以外の場合は FALSE。
CMFCHeaderCtrl::IsMultipleSort
現在のヘッダー コントロールが複数列の並べ替え モードかどうかを示します。
BOOL IsMultipleSort() const;
戻り値
複数列の並べ替えモードが有効な場合は TRUE。それ以外の場合は FALSE。
解説
複数列の並べ替えモードを有効または無効にするには、 CMFCHeaderCtrl::EnableMultipleSort メソッドを使用します。 ヘッダー コントロールが複数列の並べ替えモードの場合、2 つ以上の列を並べ替えに参加させることができます。
CMFCHeaderCtrl::OnDrawItem
ヘッダー コントロール列を描画するためにフレームワークによって呼び出されます。
virtual void OnDrawItem(
CDC* pDC,
int iItem,
CRect rect,
BOOL bIsPressed,
BOOL bIsHighlighted);
パラメーター
pDC
[入力] デバイス コンテキストへのポインター。
iItem
[in]描画する項目の 0 から始まるインデックス。
rect
[in]描画する項目の外接する四角形。
bIsPressed
[in]押された状態でアイテムを描画する場合は TRUE。それ以外の場合は FALSE。
bIsHighlighted
[in]強調表示された状態で項目を描画する場合は TRUE。それ以外の場合は FALSE。
CMFCHeaderCtrl::OnDrawSortArrow
並べ替え矢印を描画するためにフレームワークによって呼び出されます。
virtual void OnDrawSortArrow(
CDC* pDC,
CRect rectArrow);
パラメーター
pDC
[入力] デバイス コンテキストへのポインター。
rectArrow
[in]並べ替え矢印の外接する四角形。
CMFCHeaderCtrl::OnFillBackground
ヘッダー コントロール列の背景を埋めるためにフレームワークによって呼び出されます。
virtual void OnFillBackground(CDC* pDC);
パラメーター
pDC
[入力] デバイス コンテキストへのポインター。
解説
CMFCHeaderCtrl::RemoveSortColumn
並べ替え列の一覧から指定した列を削除します。
void RemoveSortColumn(int iColumn);
パラメーター
iColumn
[in]削除する列の 0 から始まるインデックス。
CMFCHeaderCtrl::SetSortColumn
ヘッダー コントロール内の指定した列の並べ替え順序を設定します。
void SetSortColumn(
int iColumn,
BOOL bAscending=TRUE,
BOOL bAdd=FALSE);
パラメーター
iColumn
[in]ヘッダー コントロール列の 0 から始まるインデックス。 このパラメーターが 0 未満の場合、このメソッドは並べ替え列の一覧からすべての列を削除します。
bAscending
[in] iColumn パラメーターが指定する列の並べ替え順序を指定します。 昇順を設定する場合は TRUE。降順を設定する場合は FALSE。 既定値は TRUE です。
bAdd
[in]true iColumn パラメーターが指定する列の並べ替え順序を設定します。
現在のヘッダー コントロールが複数列 並べ替えモードの場合 このメソッドは、指定した列を並べ替え列の一覧に追加します。 CMFCHeaderCtrl::EnableMultipleSort を使用して複数列の並べ替えモードを設定します。
複数列の並べ替えモードが設定されておらず、このメソッドがデバッグ モードでコンパイルされている場合、このメソッドはアサートします。 複数列の並べ替えモードが設定されておらず、このメソッドがリテール モードでコンパイルされている場合、このメソッドは最初に並べ替え列の一覧からすべての列を削除してから、指定した列をリストに追加します。
最初に並べ替え列の一覧からすべての列を削除し、指定した列をリストに追加する場合は FALSE。 既定値は FALSE です。
解説
列の並べ替え順序を設定するには、このメソッドを使用します。 必要に応じて、このメソッドは列を並べ替え列の一覧に追加します。 ヘッダー コントロールは、並べ替え順序を使用して、上下を指す並べ替え矢印を描画します。