Mfc-list-control

提供:Dev Guides
移動先:案内検索

MFC-リストコントロール

リストビューコントロールの機能をカプセル化します。リストビューコントロールは、アイコン(イメージリストから)とラベルで構成されるアイテムのコレクションを表示します。 CListCtrl クラスで表されます。 リストコントロールは、4つのビューのいずれかを使用してアイテムのリストを表示することで構成されます。

  • アイコン
  • 小さなアイコン
  • List *報告書

__* CListCtrl *クラスのメソッドのリストです。

Sr.No. Name & Description
1

ApproximateViewRect

リストビューコントロールの項目を表示するために必要な幅と高さを決定します。

2

Arrange

グリッド上のアイテムを整列します。

3

CancelEditLabel

アイテムテキストの編集操作をキャンセルします。

4

Create

リストコントロールを作成し、それをCListCtrlオブジェクトに関連付けます。

5

CreateDragImage

指定されたアイテムのドラッグ画像リストを作成します。

6

CreateEx

指定されたWindows拡張スタイルでリストコントロールを作成し、それをCListCtrlオブジェクトに関連付けます。

7

DeleteAllItems

コントロールからすべてのアイテムを削除します。

8

DeleteColumn

リストビューコントロールから列を削除します。

9

DeleteItem

コントロールからアイテムを削除します。

10

DrawItem

オーナー描画コントロールの視覚的側面が変更されたときに呼び出されます。

11

EditLabel

アイテムのテキストのインプレース編集を開始します。

12

EnableGroupView

リストビューコントロールのアイテムがグループとして表示されるかどうかを有効または無効にします。

13

EnsureVisible

アイテムが表示されるようにします。

14

FindItem

指定された特性を持つリストビューアイテムを検索します。

15

GetBkColor

リストビューコントロールの背景色を取得します。

16

GetBkImage

リストビューコントロールの現在の背景画像を取得します。

17

GetCheck

アイテムに関連付けられた状態イメージの現在の表示ステータスを取得します。

18

GetColumn

コントロールの列の属性を取得します。

19

GetColumnOrderArray

リストビューコントロールの列の順序(左から右)を取得します。

20

GetColumnWidth

レポートビューまたはリストビューの列の幅を取得します。

21

GetCountPerPage

リストビューコントロールに垂直に収まるアイテムの数を計算します。

22

GetEditControl

アイテムのテキストを編集するために使用される編集コントロールのハンドルを取得します。

23

GetEmptyText

現在のリストビューコントロールが空の場合に表示する文字列を取得します。

24

GetExtendedStyle

リストビューコントロールの現在の拡張スタイルを取得します。

25

GetFirstSelectedItemPosition

リストビューコントロールで最初に選択されたリストビュー項目の位置を取得します。

26

GetFocusedGroup

現在のリストビューコントロールでキーボードフォーカスを持つグループを取得します。

27

GetGroupCount

現在のリストビューコントロール内のグループの数を取得します。

28

GetGroupInfo

リストビューコントロールの指定されたグループの情報を取得します。

29

GetGroupInfoByIndex

現在のリストビューコントロール内の指定されたグループに関する情報を取得します。

30

GetGroupMetrics

グループのメトリックを取得します。

31

GetGroupRect

現在のリストビューコントロール内の指定されたグループの外接する四角形を取得します。

32

GetGroupState

現在のリストビューコントロール内の指定されたグループの状態を取得します。

33

GetHeaderCtrl

リストビューコントロールのヘッダーコントロールを取得します。

34

GetHotCursor

リストビューコントロールでホットトラッキングが有効になっているときに使用されるカーソルを取得します。

35

GetHotItem

現在カーソルの下にあるリストビュー項目を取得します。

36

GetHoverTime

リストビューコントロールの現在のホバー時間を取得します

37

GetImageList

リストビュー項目の描画に使用される画像リストのハンドルを取得します。

38

GetInsertMark

挿入マークの現在の位置を取得します。

39

GetInsertMarkColor

挿入マークの現在の色を取得します。

40

GetInsertMarkRect

挿入ポイントの境界となる長方形を取得します。

41

GetItem

リストビューアイテムの属性を取得します。

42

GetItemCount

リストビューコントロール内のアイテムの数を取得します。

43

GetItemData

アイテムに関連付けられたアプリケーション固有の値を取得します。

44

GetItemIndexRect

現在のリストビューコントロールのサブアイテムのすべてまたは一部の境界矩形を取得します。

45

GetItemPosition

リストビューアイテムの位置を取得します。

46

GetItemRect

アイテムの境界矩形を取得します。

47

GetItemSpacing

現在のリストビューコントロールの項目間の間隔を計算します。

48

GetItemState

リストビューアイテムの状態を取得します。

49

GetItemText

リストビューのアイテムまたはサブアイテムのテキストを取得します。

50

GetNextItem

指定されたプロパティと指定されたアイテムとの指定された関係を持つリストビューアイテムを検索します。

51

GetNextItemIndex

指定された一連のプロパティを持つ現在のリストビューコントロール内のアイテムのインデックスを取得します。

52

GetNextSelectedItem

リストビューアイテムの位置のインデックス、および反復のために次に選択されたリストビューアイテムの位置を取得します。

53

GetNumberOfWorkAreas

リストビューコントロールの現在の作業領域の数を取得します。

54

GetOrigin

リストビューコントロールの現在のビューの原点を取得します。

55

GetOutlineColor

リストビューコントロールの境界線の色を取得します。

56

GetSelectedColumn

リストコントロールで現在選択されている列のインデックスを取得します。

57

GetSelectedCount

リストビューコントロールで選択されたアイテムの数を取得します。

58

GetSelectionMark

リストビューコントロールの選択マークを取得します。

59

GetStringWidth

指定されたすべての文字列を表示するために必要な最小列幅を決定します。

60

GetSubItemRect

リストビューコントロール内のアイテムの外接する四角形を取得します。

61

GetTextBkColor

リストビューコントロールのテキストの背景色を取得します。

62

GetTextColor

リストビューコントロールのテキストの色を取得します。

63

GetTileInfo

リストビューコントロール内のタイルに関する情報を取得します。

64

GetTileViewInfo

タイルビューのリストビューコントロールに関する情報を取得します。

65

GetToolTips

リストビューコントロールがツールチップを表示するために使用するツールチップコントロールを取得します。

66

GetTopIndex

一番上に表示されるアイテムのインデックスを取得します。

48

GetView

リストビューコントロールのビューを取得します。

67

GetViewRect

リストビューコントロール内のすべてのアイテムの外接する四角形を取得します。

68

GetWorkAreas

リストビューコントロールの現在の作業領域を取得します。

69

HasGroup

リストビューコントロールに指定されたグループがあるかどうかを判断します。

70

HitTest

指定した位置にあるリストビュー項目を決定します。

71

InsertColumn

リストビューコントロールに新しい列を挿入します。

72

InsertGroup

リストビューコントロールにグループを挿入します。

73

InsertGroupSorted

指定されたグループをグループの順序付きリストに挿入します。

74

InsertItem

リストビューコントロールに新しいアイテムを挿入します。

75

InsertMarkHitTest

指定したポイントに最も近い挿入ポイントを取得します。

76

IsGroupViewEnabled

リストビューコントロールに対してグループビューを有効にするかどうかを決定します。

77

IsItemVisible

現在のリストビューコントロール内の指定された項目が表示されるかどうかを示します。

78

MapIDToIndex

現在のリストビューコントロール内のアイテムの一意のIDをインデックスにマップします。

79

MapIndexToID

現在のリストビューコントロール内のアイテムのインデックスを一意のIDにマップします。

80

MoveGroup

指定されたグループを移動します。

81

MoveItemToGroup

指定したグループを、リストビューコントロールの指定したゼロベースのインデックスに移動します。

82

RedrawItems

リストビューコントロールにアイテムの範囲を強制的に再描画させます。

83

RemoveAllGroups

リストビューコントロールからすべてのグループを削除します。

84

RemoveGroup

指定したグループをリストビューコントロールから削除します。

85

Scroll

リストビューコントロールのコンテンツをスクロールします。

86

SetBkColor

リストビューコントロールの背景色を設定します。

87

SetBkImage

リストビューコントロールの現在の背景画像を設定します。

88

SetCallbackMask

リストビューコントロールのコールバックマスクを設定します。

89

SetCheck

アイテムに関連付けられた状態画像の現在の表示ステータスを設定します。

90

SetColumn

リストビュー列の属性を設定します。

91

SetColumnOrderArray

リストビューコントロールの列の順序(左から右)を設定します。

92

SetColumnWidth

レポートビューまたはリストビューの列の幅を変更します。

93

SetExtendedStyle

リストビューコントロールの現在の拡張スタイルを設定します。

94

SetGroupInfo

リストビューコントロールの指定されたグループの情報を設定します。

95

SetGroupMetrics

リストビューコントロールのグループメトリックを設定します。

96

SetHotCursor

リストビューコントロールでホットトラッキングが有効な場合に使用されるカーソルを設定します。

97

SetHotItem

リストビューコントロールの現在のホットアイテムを設定します。

98

SetHoverTime

リストビューコントロールの現在のホバー時間を設定します。

99

SetIconSpacing

リストビューコントロールのアイコン間の間隔を設定します。

100

SetImageList

画像リストをリストビューコントロールに割り当てます。

101

SetInfoTip

ツールチップのテキストを設定します。

102

SetInsertMark

挿入ポイントを定義された位置に設定します。

103

SetInsertMarkColor

挿入ポイントの色を設定します。

104

SetItem

リストビューアイテムの属性の一部またはすべてを設定します。

105

SetItemCount

多数のアイテムを追加するためのリストビューコントロールを準備します。

106

SetItemCountEx

仮想リストビューコントロールのアイテム数を設定します。

107

SetItemData

アイテムのアプリケーション固有の値を設定します。

108

SetItemIndexState

現在のリストビューコントロールの項目の状態を設定します。

109

SetItemPosition

リストビューコントロール内の指定された位置にアイテムを移動します。

110

SetItemState

リストビューコントロール内のアイテムの状態を変更します。

111

SetOutlineColor

リストビューコントロールの境界線の色を設定します。

112

SetSelectedColumn

リストビューコントロールの選択した列を設定します。

113

SetSelectionMark

リストビューコントロールの選択マークを設定します。

114

SetTextBkColor

リストビューコントロールのテキストの背景色を設定します。

115

SetTextColor

リストビューコントロールのテキストの色を設定します。

116

SetTileInfo

リストビューコントロールのタイルの情報を設定します。

117

SetTileViewInfo

リストビューコントロールがタイルビューで使用する情報を設定します。

118

SetToolTips

リストビューコントロールがツールチップを表示するために使用するツールチップコントロールを設定します。

119

SetView

リストビューコントロールのビューを設定します。

120

SetWorkAreas

リストビューコントロールでアイコンを表示できる領域を設定します。

121

SortGroups

リストビューコントロールのグループをユーザー定義関数で並べ替えます。

122

SortItems

アプリケーション定義の比較関数を使用してリストビュー項目を並べ替えます。

123

SortItemsEx

アプリケーション定義の比較関数を使用してリストビュー項目を並べ替えます。

124

SubItemHitTest

特定の位置にあるリストビュー項目がある場合、それを決定します。

125

Update

コントロールに指定された項目を再描画させます。

126

SetItemText

リストビューのアイテムまたはサブアイテムのテキストを変更します。

127

GetCallbackMask

リストビューコントロールのコールバックマスクを取得します。

新しいMFCダイアログベースのアプリケーションを作成して、簡単な例を見てみましょう。

  • ステップ1 *-TODO行を削除し、1つのリストコントロールをドラッグします。
  • ステップ2 *-[プロパティ]ウィンドウの[表示]ドロップダウンリストにさまざまなオプションが表示されます。

リストコントロール

  • ステップ3 *-[表示]フィールドからレポートを選択します。
  • ステップ4 *-リスト制御に制御変数m_listCtrlを追加します。

リスト制御変数の追加

  • ステップ5 *-OnInitDialog()でリストコントロールを初期化する
BOOL CMFCListControlDlg::OnInitDialog() {
   CDialogEx::OnInitDialog();

  //Set the icon for this dialog. The framework does this automatically
  //when the application's main window is not a dialog
   SetIcon(m_hIcon, TRUE);        //Set big icon
   SetIcon(m_hIcon, FALSE);        //Set small icon

  //TODO: Add extra initialization here
  //Ask Mfc to create/insert a column
   m_listCtrl.InsertColumn(
      0,             //Rank/order of item
      L"ID",         //Caption for this header
      LVCFMT_LEFT,   //Relative position of items under header
      100);          //Width of items under header

   m_listCtrl.InsertColumn(1, L"Name", LVCFMT_CENTER, 80);
   m_listCtrl.InsertColumn(2, L"Age", LVCFMT_LEFT, 100);
   m_listCtrl.InsertColumn(3, L"Address", LVCFMT_LEFT, 80);

   int nItem;

   nItem = m_listCtrl.InsertItem(0, L"1");
   m_listCtrl.SetItemText(nItem, 1, L"Mark");
   m_listCtrl.SetItemText(nItem, 2, L"45");
   m_listCtrl.SetItemText(nItem, 3, L"Address 1");

   nItem = m_listCtrl.InsertItem(0, L"2");
   m_listCtrl.SetItemText(nItem, 1, L"Allan");
   m_listCtrl.SetItemText(nItem, 2, L"29");
   m_listCtrl.SetItemText(nItem, 3, L"Address 2");

   nItem = m_listCtrl.InsertItem(0, L"3");
   m_listCtrl.SetItemText(nItem, 1, L"Ajay");
   m_listCtrl.SetItemText(nItem, 2, L"37");
   m_listCtrl.SetItemText(nItem, 3, L"Address 3");

   return TRUE;//return TRUE unless you set the focus to a control
}
  • ステップ6 *-上記のコードをコンパイルして実行すると、次の出力が表示されます。

リスト制御出力