描画情報TreeCtrlコントロール
[詳解]
#include <TnbMfcDrawingTreeCtrl.h>
|
| void | AdditionRelatedHwnd (HWND hWnd) |
| | [追加] 関連Windowハンドル追加 [詳解]
|
| |
| | CDrawingTreeCtrl (void) |
| | コンストラクタ [詳解]
|
| |
| DWORD | GetExStyle (void) const |
| | [取得] ウィンドウ拡張スタイル取得. [詳解]
|
| |
| IDrawable * | GetItemDrawer (HTREEITEM item) |
| | [取得] アイテムの描画情報取得. [詳解]
|
| |
| HWND | GetSafeHwnd (void) const |
| | [取得] ウィンドウハンドル取得. [詳解]
|
| |
| UINT | GetState (HTREEITEM hItem) const |
| | [取得] アイテム状態取得 [詳解]
|
| |
| DWORD | GetStyle (void) const |
| | [取得] ウィンドウスタイル取得. [詳解]
|
| |
| HTREEITEM | InsertItem (const IDrawable &draw, HTREEITEM hParent=TVI_ROOT, HTREEITEM hInsertAfter=TVI_LAST, bool hasBg=false) |
| | [追加] アイテム追加 [詳解]
|
| |
| HTREEITEM | InsertItem (LPCTSTR lpszItem, HTREEITEM hParent=TVI_ROOT, HTREEITEM hInsertAfter=TVI_LAST) |
| | [追加] アイテム追加. [詳解]
|
| |
| BOOL | ModifyStyle (DWORD dwRemove, DWORD dwAdd, UINT nFlags=0) |
| | [設定] ウィンドウスタイル変更. [詳解]
|
| |
| BOOL | ModifyStyleEx (DWORD dwRemove, DWORD dwAdd, UINT nFlags=0) |
| | [設定] ウィンドウ拡張スタイル変更. [詳解]
|
| |
| void | PostMessageToRelatedHwnd (UINT message, WPARAM wParam=0, LPARAM lParam=0) |
| | [処理] 関連Windowハンドルへポスト [詳解]
|
| |
| void | SetBackColor (COLORREF color) |
| | [設定] 背景色設定. [詳解]
|
| |
| bool | SetBackgroundDrawer (const IDrawable &draw) |
| | [設定] 背景描画指定. [詳解]
|
| |
| void | SetDefaultMarkDrawer (COLORREF base=::GetSysColor(COLOR_WINDOW)) |
| | [設定] デフォルトのマーク描画指定. [詳解]
|
| |
| bool | SetDisabledStyleDrawer (const IDrawable &draw) |
| | [設定] 無効状態描画指定. [詳解]
|
| |
| bool | SetFocusMarkDrawer (const IDrawable &draw) |
| | [設定] フォーカスマーク描画指定. [詳解]
|
| |
| COLORREF | SetLineColor (COLORREF clrNew=CLR_DEFAULT) |
| | [設定] 線色指定 [詳解]
|
| |
| bool | SetSelectMarkDrawer (const IDrawable &draw, ESelectMarkType type=OVERLAP) |
| | [設定] 選択マーク描画指定. [詳解]
|
| |
| bool | SetSelectMarkDrawer (const IDrawable &draw1, const IDrawable &draw2, ESelectMarkType type=OVERLAP) |
| | [設定] 選択マーク描画指定. [詳解]
|
| |
| bool | SetState (HTREEITEM hItem, UINT state) |
| | [設定] アイテム状態設定 [詳解]
|
| |
| void | SetTextDrawer (const CTextDrawer &text) |
| | [設定] テキスト描画情報指定 [詳解]
|
| |
| BOOL | SetWindowPos (const CWnd *pWndInsertAfter, int x, int y, int cx, int cy, UINT nFlags) |
| | [設定] ウィンドウサイズポジション設定. [詳解]
|
| |
| BOOL | ShowWindow (int nCmdShow) |
| | [設定] ウィンドウ表示状態. [詳解]
|
| |
|
| void | AllReset (void) |
| | [設定] 全設定リセット. [詳解]
|
| |
| void | BeginItemPaint (void) |
| | [処理] 描画開始. [詳解]
|
| |
| void | DrawBackColor (HDC dc, const RECT &rect) |
| | [描画] 背景色描画 [詳解]
|
| |
| void | DrawBackground (HDC dc, const RECT &rect, LPARAM lParam=0) |
| | [描画] 背景表示 [詳解]
|
| |
| void | DrawDisabledStyle (HDC dc, const RECT &rect, LPARAM lParam=0) |
| | [描画] 無効状態描画. [詳解]
|
| |
| void | DrawFocusMark (HDC dc, const RECT &rect, LPARAM lParam=0) |
| | [描画] フォーカスマーク表示 [詳解]
|
| |
| void | DrawSelectMark (HDC dc, const RECT &rect, bool isActive, LPARAM lParam=0) |
| | [描画] 選択マーク表示 [詳解]
|
| |
| void | DrawText (HDC dc, const RECT &rect, LPCTSTR lpsz, DWORD drawStyle, LPARAM lParam=0) |
| | [描画] 文字列描画 [詳解]
|
| |
| void | DrawText (HDC dc, const RECT &rect, LPCTSTR lpsz, LPARAM lParam=0) |
| | [描画] 文字列描画 [詳解]
|
| |
| bool | EndItemPaint (void) |
| | [処理] 描画終了. [詳解]
|
| |
| COLORREF | GetBackColor (void) const |
| | [取得] 背景色取得. [詳解]
|
| |
| ESelectMarkType | GetSelectMarkType (void) const |
| | [取得] セレクトマークタイプ [詳解]
|
| |
| DWORD | GetTextDrawStyle (void) const |
| | [取得] 文字列描画スタイル取得. [詳解]
|
| |
| virtual bool | HasSubItem (void) const |
| | [確認] サブアイテム概念の有無 [詳解]
|
| |
| virtual void | OnBeginItemPaint (HDC dc) |
| | [通知] 描画開始. [詳解]
|
| |
| virtual void | OnCalcItemRect (TDrawParam &_pa, bool isSub) |
| | [確認] アイテムRECT計算 [詳解]
|
| |
| virtual BOOL | OnChildNotify (UINT message, WPARAM wParam, LPARAM lParam, LRESULT *_pResult) |
| | [通知] for notifications from parent [詳解]
|
| |
| virtual void | OnEndItemPaint (HDC dc) |
| | [通知] 描画終了. [詳解]
|
| |
| virtual void | OnItemPainted (const TDrawParam *P) |
| | [通知] アイテム描画終わり. [詳解]
|
| |
| virtual LRESULT | OnItemPainting (TDrawParam *P) |
| | [通知] アイテム描画. [詳解]
|
| |
| virtual void | PreSubclassWindow (void) |
| | [通知] subclassing/unsubclassing functions. [詳解]
|
| |
| void | SetDefaultTextDrawer (CWnd *pWnd) |
| | [設定] テキスト描画情報設定. [詳解]
|
| |
| virtual LRESULT | WindowProc (UINT message, WPARAM wParam, LPARAM lParam) |
| | [通知] for processing Windows messages. [詳解]
|
| |
描画情報TreeCtrlコントロール
アイテム単位で表示する描画情報を指定出来ます。
- 使い方
- リソースエディタでツリーコントロールを張り、コントロール変数に割り当て後、 そのコントロール変数の型(CTreeCtrl)を本クラスに置き換えて使用します。
- 必要ファイル
- TnbMfcDrawingTreeCtrl.h
- 日付
- 08/09/11 新規作成
-
10/01/07 Destroy時のマーク関係の初期化漏れ修正。
TnbMfcDrawingTreeCtrl.h の 43 行目に定義があります。
◆ ESelectMarkType
◆ CDrawingTreeCtrl()
◆ AdditionRelatedHwnd()
| void AdditionRelatedHwnd |
( |
HWND |
hWnd | ) |
|
|
inherited |
◆ AllReset()
◆ BeginItemPaint()
| void BeginItemPaint |
( |
void |
| ) |
|
|
protectedinherited |
◆ DrawBackColor()
| void DrawBackColor |
( |
HDC |
dc, |
|
|
const RECT & |
rect |
|
) |
| |
|
protectedinherited |
◆ DrawBackground()
| void DrawBackground |
( |
HDC |
dc, |
|
|
const RECT & |
rect, |
|
|
LPARAM |
lParam = 0 |
|
) |
| |
|
protectedinherited |
◆ DrawDisabledStyle()
| void DrawDisabledStyle |
( |
HDC |
dc, |
|
|
const RECT & |
rect, |
|
|
LPARAM |
lParam = 0 |
|
) |
| |
|
protectedinherited |
◆ DrawFocusMark()
| void DrawFocusMark |
( |
HDC |
dc, |
|
|
const RECT & |
rect, |
|
|
LPARAM |
lParam = 0 |
|
) |
| |
|
protectedinherited |
◆ DrawSelectMark()
| void DrawSelectMark |
( |
HDC |
dc, |
|
|
const RECT & |
rect, |
|
|
bool |
isActive, |
|
|
LPARAM |
lParam = 0 |
|
) |
| |
|
protectedinherited |
◆ DrawText() [1/2]
| void DrawText |
( |
HDC |
dc, |
|
|
const RECT & |
rect, |
|
|
LPCTSTR |
lpsz, |
|
|
DWORD |
drawStyle, |
|
|
LPARAM |
lParam = 0 |
|
) |
| |
|
protectedinherited |
◆ DrawText() [2/2]
| void DrawText |
( |
HDC |
dc, |
|
|
const RECT & |
rect, |
|
|
LPCTSTR |
lpsz, |
|
|
LPARAM |
lParam = 0 |
|
) |
| |
|
protectedinherited |
◆ EndItemPaint()
| bool EndItemPaint |
( |
void |
| ) |
|
|
protectedinherited |
◆ GetBackColor()
| COLORREF GetBackColor |
( |
void |
| ) |
const |
|
protectedinherited |
◆ GetExStyle()
| DWORD GetExStyle |
( |
void |
| ) |
const |
|
inherited |
[取得] ウィンドウ拡張スタイル取得.
本インスタンスが管理しているウィンドウの拡張スタイルを返します。
- 戻り値
- ウィンドウスタイル。 WS_EX_LEFT や WS_EX_TOPMOST などのシンボルが論理和(or)されている。
◆ GetItemDrawer()
◆ GetSafeHwnd()
| HWND GetSafeHwnd |
( |
void |
| ) |
const |
|
inherited |
[取得] ウィンドウハンドル取得.
本インスタンスが管理しているウィンドウのハンドルを返します。
- 戻り値
- ウィンドウハンドル
◆ GetSelectMarkType()
◆ GetState()
| UINT GetState |
( |
HTREEITEM |
hItem | ) |
const |
◆ GetStyle()
| DWORD GetStyle |
( |
void |
| ) |
const |
|
inherited |
[取得] ウィンドウスタイル取得.
本インスタンスが管理しているウィンドウのスタイルを返します。
- 戻り値
- ウィンドウスタイル。 WS_CHILD や WS_MINIMIZE などのシンボルが論理和(or)されている。
◆ GetTextDrawStyle()
| DWORD GetTextDrawStyle |
( |
void |
| ) |
const |
|
protectedinherited |
◆ HasSubItem()
| virtual bool HasSubItem |
( |
void |
| ) |
const |
|
protectedvirtual |
◆ InsertItem() [1/2]
| HTREEITEM InsertItem |
( |
const IDrawable & |
draw, |
|
|
HTREEITEM |
hParent = TVI_ROOT, |
|
|
HTREEITEM |
hInsertAfter = TVI_LAST, |
|
|
bool |
hasBg = false |
|
) |
| |
[追加] アイテム追加
- 引数
-
| draw | 描画情報 |
| hParent | 親のハンドル。 |
| hInsertAfter | 追加する一つ前のアイテムのハンドル。 |
| hasBg | 描画情報が背景をすべて描画する場合、 true にします(チラツキを軽減できます)。 |
- 戻り値
-
| NULL | 失敗 |
| NULL以外 | 成功。値はハンドルです。 |
TnbMfcDrawingTreeCtrl.h の 387 行目に定義があります。
◆ InsertItem() [2/2]
| HTREEITEM InsertItem |
( |
LPCTSTR |
lpszItem, |
|
|
HTREEITEM |
hParent = TVI_ROOT, |
|
|
HTREEITEM |
hInsertAfter = TVI_LAST |
|
) |
| |
[追加] アイテム追加.
- 引数
-
| lpszItem | 表示文字列 |
| hParent | 親のハンドル。 |
| hInsertAfter | 追加する一つ前のアイテムのハンドル。 |
- 戻り値
-
| NULL | 失敗 |
| NULL以外 | 成功。値はハンドルです。 |
TnbMfcDrawingTreeCtrl.h の 405 行目に定義があります。
◆ ModifyStyle()
| BOOL ModifyStyle |
( |
DWORD |
dwRemove, |
|
|
DWORD |
dwAdd, |
|
|
UINT |
nFlags = 0 |
|
) |
| |
|
inherited |
◆ ModifyStyleEx()
| BOOL ModifyStyleEx |
( |
DWORD |
dwRemove, |
|
|
DWORD |
dwAdd, |
|
|
UINT |
nFlags = 0 |
|
) |
| |
|
inherited |
[設定] ウィンドウ拡張スタイル変更.
- 引数
-
- 戻り値
-
◆ OnBeginItemPaint()
| virtual void OnBeginItemPaint |
( |
HDC |
dc | ) |
|
|
protectedvirtual |
◆ OnCalcItemRect()
| virtual void OnCalcItemRect |
( |
TDrawParam & |
_pa, |
|
|
bool |
isSub |
|
) |
| |
|
protectedvirtual |
◆ OnChildNotify()
| virtual BOOL OnChildNotify |
( |
UINT |
message, |
|
|
WPARAM |
wParam, |
|
|
LPARAM |
lParam, |
|
|
LRESULT * |
_pResult |
|
) |
| |
|
protectedvirtual |
[通知] for notifications from parent
- 覚え書き
- CWndのメソッドをオーバーライドしています。 メッセージ受信したらコールされます。
- 引数
-
| [in] | message | メッセージ |
| [in] | wParam | WPARAM |
| [in] | lParam | LPARAM |
| [out] | _pResult | リザルト |
- 戻り値
-
TnbMfcDrawingTreeCtrl.h の 242 行目に定義があります。
◆ OnEndItemPaint()
| virtual void OnEndItemPaint |
( |
HDC |
dc | ) |
|
|
protectedvirtual |
◆ OnItemPainted()
| virtual void OnItemPainted |
( |
const TDrawParam * |
P | ) |
|
|
protectedvirtual |
◆ OnItemPainting()
[通知] アイテム描画.
- 覚え書き
- サブアイテム毎に通知されます。
- 引数
-
| [in,out] | P | 描画用情報。範囲やアイテムNOが入っています。 |
- 戻り値
-
| CDRF_NOTIFYITEMDRAW | 通常の描画を行う(本メソッドでは何もしていない)。 |
| CDRF_NEWFONT | フォントや文字色を変更した時返します。 |
| CDRF_SKIPDEFAULT | 本メソッドで描画ずみ。 |
CAbstractCustomDrawを実装しています。
TnbMfcDrawingTreeCtrl.h の 128 行目に定義があります。
◆ PostMessageToRelatedHwnd()
| void PostMessageToRelatedHwnd |
( |
UINT |
message, |
|
|
WPARAM |
wParam = 0, |
|
|
LPARAM |
lParam = 0 |
|
) |
| |
|
inherited |
◆ PreSubclassWindow()
| virtual void PreSubclassWindow |
( |
void |
| ) |
|
|
protectedvirtual |
◆ SetBackColor()
| void SetBackColor |
( |
COLORREF |
color | ) |
|
|
inherited |
◆ SetBackgroundDrawer()
| bool SetBackgroundDrawer |
( |
const IDrawable & |
draw | ) |
|
|
inherited |
◆ SetDefaultMarkDrawer()
| void SetDefaultMarkDrawer |
( |
COLORREF |
base = ::GetSysColor(COLOR_WINDOW) | ) |
|
|
inherited |
◆ SetDefaultTextDrawer()
| void SetDefaultTextDrawer |
( |
CWnd * |
pWnd | ) |
|
|
protectedinherited |
◆ SetDisabledStyleDrawer()
| bool SetDisabledStyleDrawer |
( |
const IDrawable & |
draw | ) |
|
|
inherited |
◆ SetFocusMarkDrawer()
| bool SetFocusMarkDrawer |
( |
const IDrawable & |
draw | ) |
|
|
inherited |
◆ SetLineColor()
| COLORREF SetLineColor |
( |
COLORREF |
clrNew = CLR_DEFAULT | ) |
|
◆ SetSelectMarkDrawer() [1/2]
[設定] 選択マーク描画指定.
- 覚え書き
- アクティブ時と非アクティブ時で同じ選択マークを使います。
- 引数
-
| draw | Resize() が有効な選択マークの描画情報。 |
| type | 選択マークのタイプ。省略すると、 OVERLAP になります。 |
- 戻り値
-
TnbMfcAbstractDrawingCtrl.h の 105 行目に定義があります。
◆ SetSelectMarkDrawer() [2/2]
[設定] 選択マーク描画指定.
- 引数
-
| draw1 | Resize() が有効なアクティブ時の選択マークの描画情報。 |
| draw2 | Resize() が有効な非アクティブ時の選択マークの描画情報。 |
| type | 選択マークのタイプ。省略すると、 OVERLAP になります。 |
- 戻り値
-
TnbMfcAbstractDrawingCtrl.h の 124 行目に定義があります。
◆ SetState()
| bool SetState |
( |
HTREEITEM |
hItem, |
|
|
UINT |
state |
|
) |
| |
◆ SetTextDrawer()
◆ SetWindowPos()
| BOOL SetWindowPos |
( |
const CWnd * |
pWndInsertAfter, |
|
|
int |
x, |
|
|
int |
y, |
|
|
int |
cx, |
|
|
int |
cy, |
|
|
UINT |
nFlags |
|
) |
| |
|
inherited |
[設定] ウィンドウサイズポジション設定.
子ウィンドウ、ポップアップ ウィンドウ、およびトップレベル ウィンドウのサイズ、位置、および Z オーダーを変更します。
- 引数
-
| pWndInsertAfter | Z オーダーでこの CWnd オブジェクトより前に配置される CWnd オブジェクトを識別します。このパラメータへは、 CWnd へのポインタか 次の値のいずれか 1 つを指定できます。
- wndBottom ウィンドウを Z オーダーの一番下に置きます。この CWnd が最上位のウィンドウの場合、ウィンドウの最上位ステータスは失われます。 システムでは、このウィンドウをほかのすべてのウィンドウよりも下に置きます。
- wndTop ウィンドウを Z オーダーの先頭に置きます。
- wndTopMost ウィンドウを最上位でないすべてのウィンドウの上に置きます。 ウィンドウは、非アクティブになったときも、最上位の位置を保持します。
- wndNoTopMost ウィンドウを最上位でないすべてのウィンドウの先頭に再配置します (つまり、一番手前のすべてのウィンドウの後ろに置きます)。 ウィンドウが既に非最上位ウィンドウとなっているときは、このフラグは無効です。
|
| x | ウィンドウの新しい左辺の位置を指定します。 |
| y | ウィンドウの新しい上辺の位置を指定します。 |
| cx | ウィンドウの新しい幅を指定します。 |
| cy | ウィンドウの新しい高さを指定します。 |
| nFlags | サイズ変更オプションおよび位置指定オプションを指定します。このパラメータには、次の値を組み合わせて指定できます。
- SWP_DRAWFRAME ウィンドウの周りにフレーム (ウィンドウ作成時に定義されます) を描画します。
- SWP_FRAMECHANGED ウィンドウのサイズが変化されていない場合でも、ウィンドウに WM_NCCALCSIZE メッセージを送信します。このフラグが指定されていない場合、WM_NCCALCSIZE メッセージはウィンドウのサイズが実際に変化しているときにだけ送られます。
- SWP_HIDEWINDOW ウィンドウを非表示にします。
- SWP_NOACTIVATE ウィンドウをアクティブにしません。このフラグが設定されていないと、ウィンドウはアクティブになり、最上位または非最上位のウィンドウ グループのいずれかの先頭に移動されます (パラメータ pWndInsertAfter の設定に依存します)。
- SWP_NOCOPYBITS クライアント領域の内容全体を破棄します。このフラグが指定されていない場合、クライアント領域の有効な内容はすべて保存されます。保存された内容は、ウィンドウのサイズや位置が再び変更されたときにクライアント領域に復元されます。
- SWP_NOMOVE 現在位置を保持します (x パラメータと y パラメータを無視します)。
- SWP_NOOWNERZORDER オーナー ウィンドウの Z オーダーの位置を変更しません。
- SWP_NOREDRAW 変更があっても再描画しません。このフラグが設定されていると、どのような種類の再描画も行われません。このことは、クライアント領域、非クライアント領域 (タイトルやスクロール バーを含みます)、ウィンドウが移動したことにより覆われない親ウィンドウのあらゆる部分に適用されます。このフラグが設定されているときは、アプリケーションは再描画が必要なウィンドウや親ウィンドウのあらゆる部分を明示的に無効領域または再描画する必要があります。
- SWP_NOREPOSITION SWP_NOOWNERZORDER と同じです。
- SWP_NOSENDCHANGING ウィンドウが WM_WINDOWPOSCHANGING メッセージを受信しないようにします。
- SWP_NOSIZE 現在のサイズを保持します (cx パラメータと cy パラメータを無視します)。
- SWP_NOZORDER 現在の順序を保持します (pWndInsertAfter を無視します)。
- SWP_SHOWWINDOW ウィンドウを表示します。
|
- 戻り値
-
◆ ShowWindow()
| BOOL ShowWindow |
( |
int |
nCmdShow | ) |
|
|
inherited |
[設定] ウィンドウ表示状態.
- 引数
-
| nCmdShow | CWnd を表示する方法を指定します。次の値のいずれかになります。
- SW_HIDE このウィンドウを非表示にし、他のウィンドウをアクティブにします。
- SW_MINIMIZE ウィンドウを最小化し、システムのリストのトップレベル ウィンドウをアクティブにします。
- SW_RESTORE ウィンドウをアクティブにし、表示します。ウィンドウが最小化または最大化されている場合は、Windows によって元のサイズと位置に戻されます。
- SW_SHOW ウィンドウをアクティブにし、現在のサイズと位置で表示します。
- SW_SHOWMAXIMIZED ウィンドウをアクティブにし、最大表示します。
- SW_SHOWMINIMIZED ウィンドウをアクティブにし、最小化して表示します。
- SW_SHOWMINNOACTIVE ウィンドウを最小化して表示します。現在アクティブなウィンドウはアクティブなまま表示します。
- SW_SHOWNA 現在の状態でウィンドウを表示します。現在アクティブなウィンドウはアクティブなまま表示します。
- SW_SHOWNOACTIVATE ウィンドウを直前のサイズと位置で表示します。現在アクティブなウィンドウはアクティブなまま表示します。
- SW_SHOWNORMAL ウィンドウをアクティブにし、表示します。ウィンドウが最小化または最大化されている場合は、Windows によって元のサイズと位置に戻されます。
|
- 戻り値
-
◆ WindowProc()
| virtual LRESULT WindowProc |
( |
UINT |
message, |
|
|
WPARAM |
wParam, |
|
|
LPARAM |
lParam |
|
) |
| |
|
protectedvirtual |
[通知] for processing Windows messages.
メッセージ受信したらコールされます。 ListBox 関係のメッセージをフックしています。
- 覚え書き
- CWndのメソッドをオーバーライドしています。
- 引数
-
| message | メッセージ |
| wParam | WPARAM |
| lParam | LPARAM |
- 戻り値
- リザルト。
TnbMfcDrawingTreeCtrl.h の 268 行目に定義があります。
◆ m_lowLine
◆ m_map