Mfc-tree-control

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

MFC-ツリーコントロール

ツリービューコントロール*は、ドキュメントの見出し、インデックスのエントリ、ディスク上のファイルやディレクトリなど、アイテムの階層リストを表示するウィンドウです。 各アイテムはラベルとオプションのビットマップ画像で構成され、各アイテムにはサブアイテムのリストを関連付けることができます。 ユーザーはアイテムをクリックすることにより、関連するサブアイテムのリストを展開したり折りたたんだりできます。 *CTreeCtrl クラスで表されます。

____これはCTreeCtrlクラスのメソッドのリストです。

Sr.No. Name & Description
1

Create

ツリービューコントロールを作成し、CTreeCtrlオブジェクトにアタッチします。

2

CreateDragImage

指定されたツリービュー項目のドラッグビットマップを作成します。

3

CreateEx

指定されたWindows拡張スタイルでツリーコントロールを作成し、CTreeCtrlオブジェクトにアタッチします

4

DeleteAllItems

ツリービューコントロール内のすべてのアイテムを削除します。

5

DeleteItem

ツリービューコントロールの新しいアイテムを削除します。

6

EditLabel

指定したツリービューアイテムをその場で編集します。

7

EndEditLabelNow

現在のツリービューコントロールのツリービュー項目のラベルに対する編集操作をキャンセルします。

8

EnsureVisible

ツリービューコントロールでツリービュー項目が表示されるようにします。

9

Expand

指定されたツリービューアイテムの子アイテムを展開または折りたたみます。

10

GetBkColor

コントロールの現在の背景色を取得します。

11

GetCheck

ツリーコントロールアイテムのチェック状態を取得します。

12

GetChildItem

指定されたツリービューアイテムの子を取得します。

13

GetCount

ツリービューコントロールに関連付けられているツリー項目の数を取得します。

14

GetDropHilightItem

ドラッグアンドドロップ操作のターゲットを取得します。

15

GetEditControl

指定されたツリービュー項目の編集に使用される編集コントロールのハンドルを取得します。

16

GetExtendedStyle

現在のツリービューコントロールが使用している拡張スタイルを取得します。

17

GetFirstVisibleItem

指定されたツリービューアイテムの最初の表示アイテムを取得します。

18

GetImageList

ツリービューコントロールに関連付けられた画像リストのハンドルを取得します。

19

GetIndent

親からツリービューアイテムのオフセット(ピクセル単位)を取得します。

20

GetInsertMarkColor

ツリービューの挿入マークの描画に使用される色を取得します。

21

GetItem

指定されたツリービューアイテムの属性を取得します。

22

GetItemData

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

23

GetItemExpandedImageIndex

現在のツリービューコントロールの指定された項目が展開状態のときに表示する画像のインデックスを取得します。

24

GetItemHeight

ツリービューアイテムの現在の高さを取得します。

25

GetItemImage

アイテムに関連付けられた画像を取得します。

26

GetItemPartRect

現在のツリービューコントロール内の指定された項目の指定された部分の境界矩形を取得します。

27

GetItemRect

ツリービューアイテムの外接する四角形を取得します。

28

GetItemState

アイテムの状態を返します。

29

GetItemStateEx

現在のツリービューコントロール内の指定されたアイテムの拡張状態を取得します。

30

GetItemText

アイテムのテキストを返します。

31

GetLastVisibleItem

現在のツリービューコントロールで最後に展開された項目を取得します。

32

GetLineColor

ツリービューコントロールの現在の線の色を取得します。

33

GetNextItem

指定された関係に一致する次のツリービューアイテムを取得します。

34

GetNextSiblingItem

指定されたツリービューアイテムの次の兄弟を取得します。

35

GetNextVisibleItem

指定されたツリービューアイテムの次の表示アイテムを取得します。

36

GetParentItem

指定されたツリービューアイテムの親を取得します。

37

GetPrevSiblingItem

指定されたツリービューアイテムの前の兄弟を取得します。

38

GetPrevVisibleItem

指定されたツリービューアイテムの前の表示アイテムを取得します。

39

GetRootItem

指定されたツリービューアイテムのルートを取得します。

40

GetScrollTime

ツリービューコントロールの最大スクロール時間を取得します。

41

GetSelectedCount

現在のツリービューコントロールで選択されているアイテムの数を取得します。

42

GetSelectedItem

現在選択されているツリービューアイテムを取得します。

43

GetTextColor

コントロールの現在のテキストの色を取得します。

44

GetToolTips

ツリービューコントロールで使用される子ToolTipコントロールへのハンドルを取得します。

45

GetVisibleCount

ツリービューコントロールに関連付けられている表示可能なツリー項目の数を取得します。

46

HitTest

CTreeCtrlオブジェクトに関連するカーソルの現在の位置を返します。

47

InsertItem

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

48

ItemHasChildren

指定されたアイテムに子アイテムがある場合、ゼロ以外を返します

49

MapAccIdToItem

指定されたアクセシビリティ識別子を、現在のツリービューコントロールのツリービュー項目へのハンドルにマップします。

50

MapItemToAccID

指定されたハンドルを、現在のツリービューコントロール内のツリービュー項目に、アクセシビリティ識別子にマップします。

51

Select

指定されたツリービューアイテムを選択、ビューにスクロール、または再描画します。

52

SelectDropTarget

ドラッグアンドドロップ操作のターゲットとしてツリーアイテムを再描画します。

53

SelectItem

指定されたツリービューアイテムを選択します。

54

SelectSetFirstVisible

指定されたツリービューアイテムを最初の表示アイテムとして選択します。

55

SetAutoscrollInfo

現在のツリービューコントロールの自動スクロールレートを設定します。

56

SetBkColor

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

57

SetCheck

ツリーコントロールアイテムのチェック状態を設定します。

58

SetExtendedStyle

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

59

SetImageList

ツリービューコントロールに関連付けられた画像リストのハンドルを設定します。

60

SetIndent

ツリービュー項目の親からのオフセット(ピクセル単位)を設定します。

61

SetInsertMark

ツリービューコントロールに挿入マークを設定します。

62

SetInsertMarkColor

ツリービューの挿入マークの描画に使用する色を設定します。

63

SetItem

指定されたツリービューアイテムの属性を設定します。

64

SetItemData

アイテムに関連付けられた32ビットアプリケーション固有の値を設定します。

65

SetItemExpandedImageIndex

現在のツリービューコントロールの指定されたアイテムが展開状態のときに表示する画像のインデックスを設定します。

66

SetItemHeight

ツリービューアイテムの高さを設定します。

67

SetItemImage

画像をアイテムに関連付けます。

68

SetItemState

アイテムの状態を設定します。

69

SetItemStateEx

現在のツリービューコントロール内の指定されたアイテムの拡張状態を設定します。

70

SetItemText

アイテムのテキストを設定します。

71

SetLineColor

ツリービューコントロールの現在の線の色を設定します。

72

SetScrollTime

ツリービューコントロールの最大スクロール時間を設定します。

73

SetTextColor

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

74

SetToolTips

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

75

ShowInfoTip

現在のツリービューコントロール内の指定されたアイテムの情報ヒントを表示します。

76

SortChildren

指定された親アイテムの子をソートします。

77

SortChildrenCB

アプリケーション定義のソート関数を使用して、指定された親アイテムの子をソートします。

新しいMFCダイアログベースのプロジェクトを作成して、簡単な例を見てみましょう。

  • ステップ1 *-プロジェクトが作成されると、テキストコントロールのキャプションであるTODO行が表示されます。 キャプションを削除し、そのIDをIDC_STATIC_TXTに設定します。
  • ステップ2 *-静的テキストコントロールの値変数m_strTreeを追加します。

ツリー制御

  • ステップ3 *-[コントロール]ツールボックスから、ツリーコントロールをドラッグします。

ドラッグツリーコントロール

  • ステップ4 *-ダイアログボックスで、ツリーコントロールをクリックして選択します。 [プロパティ]ウィンドウで、[ボタンあり]、[ラインあり]、[ルートのライン]、[クライアントエッジ]、および[モーダルフレーム]プロパティをTrueに設定します。
  • ステップ5 *-Tee Controlの制御変数m_treeCtrlを追加します。

ツリー制御変数の追加

  • ステップ6 *-OnInitDialog()のツリーコントロールの初期化
BOOL CMFCTreeControlDlg::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
   HTREEITEM hItem, hCar;
   hItem = m_treeCtrl.InsertItem(L"Car Listing", TVI_ROOT);
   hCar = m_treeCtrl.InsertItem(L"Economy", hItem);
   m_treeCtrl.InsertItem(L"BH-733", hCar);
   m_treeCtrl.InsertItem(L"SD-397", hCar);
   m_treeCtrl.InsertItem(L"JU-538", hCar);
   m_treeCtrl.InsertItem(L"DI-285", hCar);
   m_treeCtrl.InsertItem(L"AK-830", hCar);
   hCar = m_treeCtrl.InsertItem(L"Compact", hItem);
   m_treeCtrl.InsertItem(L"HG-490", hCar);
   m_treeCtrl.InsertItem(L"PE-473", hCar);
   hCar = m_treeCtrl.InsertItem(L"Standard", hItem);
   m_treeCtrl.InsertItem(L"SO-398", hCar);
   m_treeCtrl.InsertItem(L"DF-438", hCar);
   m_treeCtrl.InsertItem(L"IS-833", hCar);
   hCar = m_treeCtrl.InsertItem(L"Full Size", hItem);
   m_treeCtrl.InsertItem(L"PD-304", hCar);
   hCar = m_treeCtrl.InsertItem(L"Mini Van", hItem);
   m_treeCtrl.InsertItem(L"ID-497", hCar);
   m_treeCtrl.InsertItem(L"RU-304", hCar);
   m_treeCtrl.InsertItem(L"DK-905", hCar);
   hCar = m_treeCtrl.InsertItem(L"SUV", hItem);
   m_treeCtrl.InsertItem(L"FE-948", hCar);
   m_treeCtrl.InsertItem(L"AD-940", hCar);
   hCar = m_treeCtrl.InsertItem(L"Truck", hItem);
   m_treeCtrl.InsertItem(L"HD-394", hCar);

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

ツリー制御出力