TNB Library
クラス | 公開メンバ関数 | 限定公開メンバ関数 | 全メンバ一覧
CDrawingComboBox クラス

描画情報ListBoxコントロール [詳解]

#include <TnbMfcDrawingComboBox.h>

+ CDrawingComboBox の継承関係図

公開メンバ関数

int AddDrawing (const IDrawable &draw)
 [追加] 描画情報一行追加. [詳解]
 
int AddString (LPCTSTR lpszItem)
 [追加] 文字列一行追加. [詳解]
 
 CDrawingComboBox (void)
 コンストラクタ [詳解]
 
int DeleteDrawing (UINT index)
 [削除] 一行削除. [詳解]
 
int DeleteString (UINT index)
 [削除] 一行削除. [詳解]
 
const IDrawableGetDrawing (int index) const
 [取得] 描画情報取得. [詳解]
 
int InsertDrawing (int index, const IDrawable &draw)
 [追加] 描画情報一行挿入. [詳解]
 
int InsertString (int index, LPCTSTR lpszItem)
 [追加] 文字列一行挿入. [詳解]
 
CDrawingButtonReferButtonControl (void)
 [参照] ボタンコントロールクラス参照. [詳解]
 
void ResetContent (void)
 [削除] 全描画情報削除. [詳解]
 
void SetBackColor (COLORREF color)
 [設定] 背景色設定. [詳解]
 
bool SetBackgroundDrawer (const IDrawable &draw)
 [設定] 背景描画指定. [詳解]
 
void SetDefaultMarkDrawer (void)
 [設定] デフォルトのマーク描画指定. [詳解]
 
bool SetFocusMarkDrawer (const IDrawable &draw)
 [設定] フォーカスマーク描画指定. [詳解]
 
bool SetSelectMarkDrawer (const IDrawable &draw, CAbstractDrawingCtrl::ESelectMarkType type=CAbstractDrawingCtrl::OVERLAP)
 [設定] 選択マーク描画指定. [詳解]
 
bool SetSelectMarkDrawer (const IDrawable &draw1, const IDrawable &draw2, CAbstractDrawingCtrl::ESelectMarkType type=CAbstractDrawingCtrl::OVERLAP)
 [設定] 選択マーク描画指定. [詳解]
 
void SetTextDrawer (const CTextDrawer &text)
 [設定] テキスト描画情報指定 [詳解]
 
void UseDrawingButton (bool r=true)
 [設定] ボタン設定. [詳解]
 
 ~CDrawingComboBox (void)
 デストラクタ [詳解]
 

限定公開メンバ関数

virtual void DrawItem (LPDRAWITEMSTRUCT lpDrawItemStruct)
 [通知] オーナードロー処理. [詳解]
 
virtual void MeasureItem (LPMEASUREITEMSTRUCT lpMeasureItemStruct)
 オーナードロー時. [詳解]
 
virtual void PreSubclassWindow (void)
 [通知] subclassing/unsubclassing functions. [詳解]
 
virtual LRESULT WindowProc (UINT message, WPARAM wParam, LPARAM lParam)
 [通知] for processing Windows messages. [詳解]
 

詳解

描画情報ListBoxコントロール

行単位で表示する描画情報を指定出来ます。
使い方
リソースエディタでコンボボックスコントロールを張り、コントロール変数に割り当て後、 そのコントロール変数の型(CComboBox)を本クラスに置き換えて使用します。
リストボックスのプロパティの「オーナー描画(O)」を「可変」にしておいてください。
必要ファイル
TnbMfcDrawingComboBox.h
日付
08/03/18 新規作成
10/04/26 構成変更
11/08/11 サブクラス化した時、ListBoxのハンドルがわかればサブクラス化するようにした。

TnbMfcDrawingComboBox.h40 行目に定義があります。

構築子と解体子

◆ CDrawingComboBox()

CDrawingComboBox ( void  )

コンストラクタ

TnbMfcDrawingComboBox.h46 行目に定義があります。

◆ ~CDrawingComboBox()

~CDrawingComboBox ( void  )

デストラクタ

TnbMfcDrawingComboBox.h51 行目に定義があります。

関数詳解

◆ AddDrawing()

int AddDrawing ( const IDrawable draw)

[追加] 描画情報一行追加.

覚え書き
一行追加します。
引数
draw描画情報
戻り値
LB_ERRエラー。
0以上追加したインデックス

TnbMfcDrawingComboBox.h85 行目に定義があります。

◆ AddString()

int AddString ( LPCTSTR  lpszItem)

[追加] 文字列一行追加.

覚え書き
一行追加します。
引数
lpszItem文字列
戻り値
LB_ERRエラー。
0以上追加したインデックス

TnbMfcDrawingComboBox.h73 行目に定義があります。

◆ DeleteDrawing()

int DeleteDrawing ( UINT  index)

[削除] 一行削除.

引数
index削除する位置
戻り値
LB_ERRエラー。
0以上成功。数字は残りの数。

TnbMfcDrawingComboBox.h150 行目に定義があります。

◆ DeleteString()

int DeleteString ( UINT  index)

[削除] 一行削除.

引数
index削除する位置
戻り値
LB_ERRエラー。
0以上成功。数字は残りの数。

TnbMfcDrawingComboBox.h163 行目に定義があります。

◆ DrawItem()

virtual void DrawItem ( LPDRAWITEMSTRUCT  lpDrawItemStruct)
protectedvirtual

[通知] オーナードロー処理.

オーナードロー時コールされます。

引数
lpDrawItemStruct描画情報.

TnbMfcDrawingComboBox.h383 行目に定義があります。

◆ GetDrawing()

const IDrawable * GetDrawing ( int  index) const

[取得] 描画情報取得.

引数
index取得する位置.
戻り値
NULLエラー.
NULL以外描画情報。delete してはいけません。

TnbMfcDrawingComboBox.h61 行目に定義があります。

◆ InsertDrawing()

int InsertDrawing ( int  index,
const IDrawable draw 
)

[追加] 描画情報一行挿入.

覚え書き
一行挿入します。
引数
index挿入する位置
draw描画情報
戻り値
LB_ERRエラー。
0以上追加したインデックス

TnbMfcDrawingComboBox.h125 行目に定義があります。

◆ InsertString()

int InsertString ( int  index,
LPCTSTR  lpszItem 
)

[追加] 文字列一行挿入.

覚え書き
一行挿入します。
引数
index挿入する位置
lpszItem文字列
戻り値
LB_ERRエラー。
0以上追加したインデックス

TnbMfcDrawingComboBox.h112 行目に定義があります。

◆ MeasureItem()

virtual void MeasureItem ( LPMEASUREITEMSTRUCT  lpMeasureItemStruct)
protectedvirtual

オーナードロー時.

ドロー時Itemの高さ確認のためにコールされる

引数
lpMeasureItemStruct情報

TnbMfcDrawingComboBox.h418 行目に定義があります。

◆ PreSubclassWindow()

virtual void PreSubclassWindow ( void  )
protectedvirtual

[通知] subclassing/unsubclassing functions.

サブクラス化する時コールされます。

覚え書き
CWndのメソッドをオーバーライドしています。

TnbMfcDrawingComboBox.h354 行目に定義があります。

◆ ReferButtonControl()

CDrawingButton & ReferButtonControl ( void  )

[参照] ボタンコントロールクラス参照.

本コンボボックスが持つボタンコントロールクラスの参照を返します。

覚え書き
UseDrawingButton() メソッドをコールしていない場合、無効なコントロールが返されます。
戻り値
ボタンコントロールの参照

TnbMfcDrawingComboBox.h260 行目に定義があります。

◆ ResetContent()

void ResetContent ( void  )

[削除] 全描画情報削除.

TnbMfcDrawingComboBox.h171 行目に定義があります。

◆ SetBackColor()

void SetBackColor ( COLORREF  color)

[設定] 背景色設定.

引数
color

TnbMfcDrawingComboBox.h239 行目に定義があります。

◆ SetBackgroundDrawer()

bool SetBackgroundDrawer ( const IDrawable draw)

[設定] 背景描画指定.

引数
drawResize() が有効な各アイテムの背景描画情報。
戻り値
true成功。
false失敗。

TnbMfcDrawingComboBox.h193 行目に定義があります。

◆ SetDefaultMarkDrawer()

void SetDefaultMarkDrawer ( void  )

[設定] デフォルトのマーク描画指定.

覚え書き
フォーカスマーク、選択マークをWindow標準と同じにします。

TnbMfcDrawingComboBox.h182 行目に定義があります。

◆ SetFocusMarkDrawer()

bool SetFocusMarkDrawer ( const IDrawable draw)

[設定] フォーカスマーク描画指定.

引数
drawResize() が有効なフォーカスマークの描画情報。
戻り値
true成功。
false失敗。

TnbMfcDrawingComboBox.h230 行目に定義があります。

◆ SetSelectMarkDrawer() [1/2]

bool SetSelectMarkDrawer ( const IDrawable draw,
CAbstractDrawingCtrl::ESelectMarkType  type = CAbstractDrawingCtrl::OVERLAP 
)

[設定] 選択マーク描画指定.

覚え書き
アクティブ時と非アクティブ時で同じ選択マークを使います。
引数
drawResize() が有効な選択マークの描画情報。
type選択マークのタイプ。省略すると、 OVERLAP になります。
戻り値
true成功。
false失敗。

TnbMfcDrawingComboBox.h206 行目に定義があります。

◆ SetSelectMarkDrawer() [2/2]

bool SetSelectMarkDrawer ( const IDrawable draw1,
const IDrawable draw2,
CAbstractDrawingCtrl::ESelectMarkType  type = CAbstractDrawingCtrl::OVERLAP 
)

[設定] 選択マーク描画指定.

引数
draw1Resize() が有効なアクティブ時の選択マークの描画情報。
draw2Resize() が有効な非アクティブ時の選択マークの描画情報。
type選択マークのタイプ。省略すると、 OVERLAP になります。
戻り値
true成功。
false失敗。

TnbMfcDrawingComboBox.h219 行目に定義があります。

◆ SetTextDrawer()

void SetTextDrawer ( const CTextDrawer text)

[設定] テキスト描画情報指定

覚え書き
指定しない場合でも、標準相当の描画が行われます。
引数
textテキスト描画

TnbMfcDrawingComboBox.h249 行目に定義があります。

◆ UseDrawingButton()

void UseDrawingButton ( bool  r = true)

[設定] ボタン設定.

本コンボボックスがカスタマイズ可能のボタンを使うか否か、指定します。

引数
rtrue なら CDrawingButton を使用します。 false なら標準のボタンを使用します。

TnbMfcDrawingComboBox.h271 行目に定義があります。

◆ WindowProc()

virtual LRESULT WindowProc ( UINT  message,
WPARAM  wParam,
LPARAM  lParam 
)
protectedvirtual

[通知] for processing Windows messages.

メッセージ受信したらコールされます。 ListBox 関係のメッセージをフックしています。

覚え書き
CWndのメソッドをオーバーライドしています。
引数
messageメッセージ
wParamWPARAM
lParamLPARAM
戻り値
リザルト。

TnbMfcDrawingComboBox.h296 行目に定義があります。