Windows ツール バー コモン コントロールの機能が用意されています。
構文
class CToolBarCtrl : public CWnd
メンバー
パブリック コンストラクター
| 名前 | 説明 |
|---|---|
CToolBarCtrl::CToolBarCtrl |
CToolBarCtrl オブジェクトを構築します。 |
パブリック メソッド
| 名前 | 説明 |
|---|---|
CToolBarCtrl::AddBitmap |
ツール バー コントロールで使用できるボタン イメージの一覧に、1 つ以上のビットマップ ボタンイメージを追加します。 |
CToolBarCtrl::AddButtons |
ツール バー コントロールに 1 つ以上のボタンを追加します。 |
CToolBarCtrl::AddString |
リソース ID として渡される新しい文字列を、ツール バーの文字列の内部リストに追加します。 |
CToolBarCtrl::AddStrings |
NULL区切り文字列のバッファーへのポインターとして渡される新しい文字列を、ツール バーの文字列の内部リストに追加します。 |
CToolBarCtrl::AutoSize |
ツール バー コントロールのサイズを変更します。 |
CToolBarCtrl::ChangeBitmap |
現在のツール バー コントロールのボタンのビットマップを変更します。 |
CToolBarCtrl::CheckButton |
ツール バー コントロールの特定のボタンをオンまたはオフにします。 |
CToolBarCtrl::CommandToIndex |
指定したコマンド識別子に関連付けられているボタンの 0 から始まるインデックスを取得します。 |
CToolBarCtrl::Create |
ツール バー コントロールを作成し、 CToolBarCtrl オブジェクトにアタッチします。 |
CToolBarCtrl::CreateEx |
指定した Windows 拡張スタイルを使用してツール バー コントロールを作成し、 CToolBarCtrl オブジェクトにアタッチします。 |
CToolBarCtrl::Customize |
[ツールバーのカスタマイズ] ダイアログ ボックスを表示します。 |
CToolBarCtrl::DeleteButton |
ツール バー コントロールからボタンを削除します。 |
CToolBarCtrl::EnableButton |
ツール バー コントロールの指定したボタンを有効または無効にします。 |
CToolBarCtrl::GetAnchorHighlight |
ツールバーのアンカー強調表示設定を取得します。 |
CToolBarCtrl::GetBitmap |
ツールバーのボタンに関連付けられているビットマップのインデックスを取得します。 |
CToolBarCtrl::GetBitmapFlags |
ツール バーのビットマップに関連付けられているフラグを取得します。 |
CToolBarCtrl::GetButton |
ツール バー コントロール内の指定したボタンに関する情報を取得します。 |
CToolBarCtrl::GetButtonCount |
現在ツール バー コントロールにあるボタンの数を取得します。 |
CToolBarCtrl::GetButtonInfo |
ツール バーのボタンの情報を取得します。 |
CToolBarCtrl::GetButtonSize |
ツールバー ボタンの現在の幅と高さをピクセル単位で取得します。 |
CToolBarCtrl::GetColorScheme |
現在のツール バー コントロールの配色を取得します。 |
CToolBarCtrl::GetDisabledImageList |
ツール バー コントロールが無効なボタンを表示するために使用するイメージの一覧を取得します。 |
CToolBarCtrl::GetDropTarget |
ツール バー コントロールの IDropTarget インターフェイスを取得します。 |
CToolBarCtrl::GetExtendedStyle |
ツールバー コントロールの拡張スタイルを取得します。 |
CToolBarCtrl::GetHotImageList |
ツール バー コントロールが "ホット" ボタンを表示するために使用するイメージの一覧を取得します。 マウス ポインターが上にあると、ホット ボタンが強調表示されます。 |
CToolBarCtrl::GetHotItem |
ツールバーのホット アイテムのインデックスを取得します。 |
CToolBarCtrl::GetImageList |
ツールバー コントロールがボタンを既定の状態で表示するために使用するイメージ リストを取得します。 |
CToolBarCtrl::GetInsertMark |
ツールバーの現在の挿入マークを取得します。 |
CToolBarCtrl::GetInsertMarkColor |
ツールバーの挿入マークの描画に使用する色を取得します。 |
CToolBarCtrl::GetItemRect |
ツール バー コントロール内のボタンの外接する四角形を取得します。 |
CToolBarCtrl::GetMaxSize |
ツールバーに表示されているすべてのボタンと区切り記号の合計サイズを取得します。 |
CToolBarCtrl::GetMaxTextRows |
ツール バー ボタンに表示されるテキスト行の最大数を取得します。 |
CToolBarCtrl::GetMetrics |
ツールバー コントロールのメトリックを取得します。 |
CToolBarCtrl::GetPadding |
現在のツール バー コントロールの水平方向と垂直方向のパディングを取得します。 |
CToolBarCtrl::GetPressedImageList |
現在のツール バー コントロールが押された状態のボタンを表すために使用する画像リストを取得します。 |
CToolBarCtrl::GetRect |
指定したツールバー ボタンの外接矩形を取得します。 |
CToolBarCtrl::GetRows |
ツール バーに現在表示されているボタンの行数を取得します。 |
CToolBarCtrl::GetState |
ツール バー コントロール内の指定したボタンの状態に関する情報を取得します (有効か、押されているか、オンかなど)。 |
CToolBarCtrl::GetString |
ツール バー文字列を取得します。 |
CToolBarCtrl::GetStyle |
ツールバー コントロールに現在使用されているスタイルを取得します。 |
CToolBarCtrl::GetToolTips |
ツール バー コントロールに関連付けられているツール ヒント コントロールのハンドル (存在する場合) を取得します。 |
CToolBarCtrl::HideButton |
ツール バー コントロールの指定したボタンを非表示または表示します。 |
CToolBarCtrl::HitTest |
ツールバー コントロール内のポイントの位置を決定します。 |
CToolBarCtrl::Indeterminate |
ツール バー コントロールの指定したボタンの不確定 (灰色) の状態を設定またはクリアします。 |
CToolBarCtrl::InsertButton |
ツール バー コントロールにボタンを挿入します。 |
CToolBarCtrl::InsertMarkHitTest |
ツールバー内のポイントの挿入マーク情報を取得します。 |
CToolBarCtrl::IsButtonChecked |
ツール バー コントロール内の指定したボタンがオンかどうかを示します。 |
CToolBarCtrl::IsButtonEnabled |
ツール バー コントロールの指定したボタンが有効かどうかを示します。 |
CToolBarCtrl::IsButtonHidden |
ツール バー コントロール内の指定したボタンが非表示かどうかを示します。 |
CToolBarCtrl::IsButtonHighlighted |
ツール バー ボタンの強調表示の状態を確認します。 |
CToolBarCtrl::IsButtonIndeterminate |
ツール バー コントロール内の指定したボタンの状態が不確定 (灰色) かどうかを示します。 |
CToolBarCtrl::IsButtonPressed |
ツール バー コントロール内の指定したボタンが押されているかどうかを示します。 |
CToolBarCtrl::LoadImages |
ツール バー コントロールのイメージ リストにビットマップを読み込みます。 |
CToolBarCtrl::MapAccelerator |
アクセラレータ文字をツール バー ボタンにマップします。 |
CToolBarCtrl::MarkButton |
ツール バー コントロールの特定のボタンの強調表示の状態を設定します。 |
CToolBarCtrl::MoveButton |
あるインデックスから別のインデックスにボタンを移動します。 |
CToolBarCtrl::PressButton |
ツール バー コントロールの指定したボタンを押すか離します。 |
CToolBarCtrl::ReplaceBitmap |
現在のツール バー コントロール内の既存のビットマップを新しいビットマップに置き換えます。 |
CToolBarCtrl::RestoreState |
ツール バー コントロールの状態を復元します。 |
CToolBarCtrl::SaveState |
ツール バー コントロールの状態を保存します。 |
CToolBarCtrl::SetAnchorHighlight |
ツールバーのアンカー強調表示設定を設定します。 |
CToolBarCtrl::SetBitmapSize |
ツール バー コントロールに追加するビットマップイメージのサイズを設定します。 |
CToolBarCtrl::SetButtonInfo |
ツールバーの既存のボタンの情報を設定します。 |
CToolBarCtrl::SetButtonSize |
ツール バー コントロールに追加するボタンのサイズを設定します。 |
CToolBarCtrl::SetButtonStructSize |
TBBUTTON構造体のサイズを指定します。 |
CToolBarCtrl::SetButtonWidth |
ツール バー コントロールのボタンの最小幅と最大幅を設定します。 |
CToolBarCtrl::SetCmdID |
指定したボタンが押されたときに所有者ウィンドウに送信されるコマンド識別子を設定します。 |
CToolBarCtrl::SetColorScheme |
現在のツール バー コントロールの配色を設定します。 |
CToolBarCtrl::SetDisabledImageList |
ツールバー コントロールが無効なボタンを表示するために使用するイメージ リストを設定します。 |
CToolBarCtrl::SetDrawTextFlags |
Win32 関数 DrawTextのフラグを設定します。これは、指定した四角形内のテキストを描画するために使用され、フラグの設定方法に従って書式設定されます。 |
CToolBarCtrl::SetExtendedStyle |
ツールバー コントロールの拡張スタイルを設定します。 |
CToolBarCtrl::SetHotImageList |
ツール バー コントロールが "ホット" ボタンの表示に使用するイメージ リストを設定します。 |
CToolBarCtrl::SetHotItem |
ツールバーのホット アイテムを設定します。 |
CToolBarCtrl::SetImageList |
既定の状態のボタンを表示するためにツール バーが使用するイメージ リストを設定します。 |
CToolBarCtrl::SetIndent |
ツールバー コントロールの最初のボタンのインデントを設定します。 |
CToolBarCtrl::SetInsertMark |
ツールバーの現在の挿入マークを設定します。 |
CToolBarCtrl::SetInsertMarkColor |
ツールバーの挿入マークの描画に使用する色を設定します。 |
CToolBarCtrl::SetMaxTextRows |
ツールバー ボタンに表示されるテキスト行の最大数を設定します。 |
CToolBarCtrl::SetMetrics |
ツールバー コントロールのメトリックを設定します。 |
CToolBarCtrl::SetOwner |
ツール バー コントロールから通知メッセージを受信するウィンドウを設定します。 |
CToolBarCtrl::SetPadding |
現在のツール バー コントロールの水平方向と垂直方向のパディングを設定します。 |
CToolBarCtrl::SetPressedImageList |
現在のツール バー コントロールが押された状態のボタンを表すために使用するイメージ リストを設定します。 |
CToolBarCtrl::SetRows |
ツール バーに表示されるボタンの行数を設定します。 |
CToolBarCtrl::SetState |
ツール バー コントロールの指定したボタンの状態を設定します。 |
CToolBarCtrl::SetStyle |
ツール バー コントロールのスタイルを設定します。 |
CToolBarCtrl::SetToolTips |
ツール ヒント コントロールをツール バー コントロールに関連付けます。 |
CToolBarCtrl::SetWindowTheme |
ツールバー コントロールのビジュアル スタイルを設定します。 |
解説
このコントロール (したがって、 CToolBarCtrl クラス) は、Windows 95/98 および Windows NT バージョン 3.51 以降で実行されているプログラムでのみ使用できます。
Windows ツール バーの共通コントロールは、1 つ以上のボタンを含む四角形の子ウィンドウです。 これらのボタンは、ビットマップ イメージ、文字列、またはその両方を表示できます。 ユーザーがボタンを選択すると、ツール バーの所有者ウィンドウにコマンド メッセージが送信されます。 通常、ツール バーのボタンは、アプリケーションのメニューの項目に対応します。ユーザーがアプリケーションのコマンドにアクセスするためのより直接的な方法が提供されます。
CToolBarCtrl オブジェクトには、いくつかの重要な内部データ構造が含まれています。ボタンイメージビットマップまたはイメージリストのリスト、ボタンラベル文字列のリスト、画像や文字列をボタンの位置、スタイル、状態、コマンド ID に関連付ける TBBUTTON 構造のリストです。 これらのデータ構造の各要素は、0 から始まるインデックスで参照されます。 CToolBarCtrl オブジェクトを使用するには、あらかじめこれらのデータ構造を設定しておく必要があります。 文字列のリストはボタンラベルにのみ使用できます。ツールバーから文字列を取得することはできません。
CToolBarCtrl オブジェクトを使用するには、通常、次の手順に従います。
CToolBarCtrlオブジェクトを構築します。Createを呼び出して、Windows ツール バーの共通コントロールを作成し、CToolBarCtrlオブジェクトにアタッチします。 透明なツール バーのTBSTYLE_TRANSPARENTや、ドロップダウン スタイル ボタンをサポートするツール バーのTBSTYLE_DROPDOWNなど、スタイルを使用してツール バーのスタイルを指定します。ツール バーのボタンを表示する方法を特定します。
ボタンにビットマップ イメージを使用するには、
AddBitmapを呼び出してボタン ビットマップをツール バーに追加します。ボタンにイメージ リストから表示されるイメージを使用するには、
SetImageList、SetHotImageList、またはSetDisabledImageListを呼び出してイメージ リストを指定します。ボタンに文字列ラベルを使用するには、
AddStringやAddStringsを呼び出して、ツール バーに文字列を追加します。
AddButtonsを呼び出して、ツール バーにボタン構造を追加します。CFrameWndではない所有者ウィンドウのツールバー ボタンのツール ヒントが必要な場合は、「ツール ヒント通知の処理」の説明に従って、ツール バーの所有者ウィンドウでTTN_NEEDTEXTメッセージ処理する必要があります。 ツール バーの親ウィンドウがCFrameWndから派生している場合、ツール ヒントは既定のハンドラーCFrameWnd提供されるため、追加の作業なしで表示されます。ツール バーをユーザーがカスタマイズできるようにしたい場合は、「カスタマイズ通知の処理」の説明に従って、オーナー ウィンドウでカスタマイズ通知メッセージを処理します。
SaveStateを使用すると、ツール バー コントロールの現在の状態をレジストリに保存し、RestoreStateレジストリに以前に格納された情報に基づいて状態を復元できます。 アプリケーションの使用間でツール バーの状態を保存するだけでなく、ユーザーが後でツール バーを元の状態に復元する場合に備えて、ユーザーがツール バーのカスタマイズを開始する前に、通常、アプリケーションによって状態が格納されます。
Internet Explorer バージョン 4.0 以降のサポート
Internet Explorer バージョン 4.0 以降で導入された機能をサポートするために、MFC では、ツール バー コントロールのイメージ リストのサポートと透明なスタイルとフラット スタイルが提供されています。
透明なツール バーを使用すると、ツール バーの下にあるクライアントを表示できます。 透明なツールバーを作成するには、 TBSTYLE_FLAT スタイルと TBSTYLE_TRANSPARENT スタイルの両方を使用します。 透明なツールバーはホットトラッキングを備えます。つまり、マウス ポインターがツール バーのホット ボタンの上に移動すると、ボタンの外観が変わります。 TBSTYLE_FLAT スタイルだけで作成されたツール バーには、透明ではないボタンが含まれます。
イメージ リストのサポートにより、既定の動作、ホット イメージ、および無効なイメージに対する柔軟性が向上します。 透明ツールバーで GetImageList、 GetHotImageList、および GetDisabledImageList を使用して、状態に応じてイメージを操作します。
CToolBarCtrlの使用方法の詳細については、「ControlsとCToolBarCtrlの使用」を参照してください。
継承階層
CToolBarCtrl
要件
ヘッダー: afxcmn.h
CToolBarCtrl::AddBitmap
ツール バー コントロールに格納されているボタン イメージの一覧に、1 つ以上のボタンイメージを追加します。
int AddBitmap(
int nNumButtons,
UINT nBitmapID);
int AddBitmap(
int nNumButtons,
CBitmap* pBitmap);
パラメーター
nNumButtons
ビットマップ内のボタン イメージの数。
nBitmapID
追加するボタンイメージを含むビットマップのリソース識別子。
pBitmap
追加するボタンイメージを含む CBitmap オブジェクトへのポインター。
戻り値
成功した場合の最初の新しいイメージの 0 から始まるインデックス。それ以外の場合 - 1。
解説
ツール バーにビットマップを追加する前に、Windows API CreateMappedBitmap を使用して色をマップできます。 CBitMap オブジェクトへのポインターを渡す場合は、ツール バーが破棄されるまでビットマップが破棄されないようにする必要があります。
CToolBarCtrl::AddButtons
ツール バー コントロールに 1 つ以上のボタンを追加します。
BOOL AddButtons(
int nNumButtons,
LPTBBUTTON lpButtons);
パラメーター
nNumButtons
追加するボタンの数。
lpButtons
追加するボタンに関する情報を含む TBBUTTON 構造体の配列のアドレス。 配列には、 nNumButtonsで指定されたボタンと同じ数の要素が必要です。
戻り値
成功した場合は 0 以外を返します。それ以外の場合は 0 を返します。
解説
lpButtons ポインターは、TBBUTTON構造体の配列を指します。 各 TBBUTTON 構造体は、追加するボタンをボタンのスタイル、画像、文字列、コマンド ID、状態、およびユーザー定義データに関連付けます。
typedef struct _TBBUTTON {
int iBitmap; // zero-based index of button image
int idCommand; // command to be sent when button pressed
BYTE fsState; // button state--see below
BYTE fsStyle; // button style--see below
DWORD dwData; // application-defined value
int iString; // zero-based index of button label string
} TBBUTTON;
メンバーは次のとおりです。
iBitmapボタン イメージの 0 から始まるインデックス。このボタンの画像がない場合は -1。
idCommandボタンに関連付けられているコマンド識別子。 この識別子は、ボタンが選択されたときに
WM_COMMANDメッセージで送信されます。fsStyleメンバーにTBSTYLE_SEP値がある場合、このメンバーは 0 である必要があります。fsStateボタン状態フラグ。 次に示す値の組み合わせを指定できます。
TBSTATE_CHECKEDボタンにはTBSTYLE_CHECKEDスタイルがあり、押されています。TBSTATE_ENABLEDボタンはユーザー入力を受け入れます。 この状態ではないボタンは、ユーザー入力を受け付けず、灰色で表示されます。TBSTATE_HIDDENボタンは表示されず、ユーザー入力を受け取ることはできません。TBSTATE_INDETERMINATEボタンは灰色で表示されます。TBSTATE_PRESSEDボタンが押されています。TBSTATE_WRAPボタンの後に改行が続きます。 ボタンもTBSTATE_ENABLED状態である必要があります。
fsStyleボタンのスタイル。 次に示す値の組み合わせを指定できます。
TBSTYLE_BUTTON標準のプッシュ ボタンを作成します。TBSTYLE_CHECKユーザーがクリックするたびに押された状態と押されていない状態を切り替えるボタンを作成します。 ボタンが押された状態の場合、ボタンの背景色が異なります。TBSTYLE_CHECKGROUPグループ内の別のボタンが押されるまで押された状態を維持するチェック ボタンを作成します。TBSTYLE_GROUPグループ内の別のボタンが押されるまで押された状態を維持するボタンを作成します。TBSTYLE_SEPボタン グループ間に小さなギャップを提供する区切り記号を作成します。 このスタイルのボタンは、ユーザー入力を受け取りません。
dwDataユーザー定義データ。
iStringボタンのラベルとして使用する文字列の 0 から始まるインデックス。このボタンの文字列がない場合は -1。
指定するインデックスを持つイメージや文字列は、 AddBitmap、 AddString、 AddStringsを使用して、以前にツール バー コントロールの一覧に追加されている必要があります。
CToolBarCtrl::AddString
リソース ID として渡される新しい文字列を、ツール バーの文字列の内部リストに追加します。
int AddString(UINT nStringID);
パラメーター
nStringID
ツール バー コントロールの文字列リストに追加する文字列リソースのリソース識別子。
戻り値
成功した場合に追加された最初の新しい文字列の 0 から始まるインデックス。それ以外の場合は -1。
CToolBarCtrl::AddStrings
ツール バー コントロールで使用できる文字列の一覧に、新しい文字列または文字列を追加します。
int AddStrings(LPCTSTR lpszStrings);
パラメーター
lpszStrings
ツール バーの文字列リストに追加する 1 つ以上の NULL終了文字列を含むバッファーのアドレス。 最後の文字列は、2 つの NULL 文字で終了する必要があります。
戻り値
成功した場合に追加された最初の新しい文字列の 0 から始まるインデックス。それ以外の場合は -1。
解説
バッファー内の文字列は、 NULL 文字で区切る必要があります。 最後の文字列に 2 つの NULL ターミネータがあることを確認する必要があります。 定数文字列を適切に書式設定するには、次のように記述します。
// one null added automatically
lpszStrings = _T("Only one string to add\0");
または:
// adds three strings with one call
lpszStrings = _T("String 1\0String 2\0String 3\0");
CStringに複数のNULL文字を含めることはできませんので、CString オブジェクトをこの関数に渡さないでください。
CToolBarCtrl::AutoSize
ツール バー コントロール全体のサイズを変更します。
void AutoSize();
解説
この関数は、親ウィンドウのサイズが変更されたとき、またはツール バーのサイズが変更されたときに呼び出す必要があります (ボタンやビットマップ サイズの設定、文字列の追加など)。
CToolBarCtrl::ChangeBitmap
現在のツール バー コントロールのボタンのビットマップを変更します。
BOOL ChangeBitmap(
int idButton,
int iBitmap);
パラメーター
idButton
[in]新しいビットマップを受け取るボタンのコマンド識別子。
iBitmap
[in]現在のツール バー コントロールのイメージ リスト内のイメージの 0 から始まるインデックス。
戻り値
TRUE このメソッドが成功した場合。それ以外の場合は FALSE。
解説
このメソッドが成功した場合、指定したボタンに指定したイメージが表示されます。
このメソッドは、Windows SDK で説明されている TB_CHANGEBITMAP メッセージを送信します。
例
次のコード例では、 File Save ボタンのビットマップを About ボタンのビットマップに変更します。
{
// Change the bitmap for the File Save button, whose
// command ID is ID_FILE_SAVE, to the bitmap for the
// About button, whose index is 7.
CToolBarCtrl &m_toolBarCtrl = m_wndToolBar.GetToolBarCtrl();
BOOL bRet = m_toolBarCtrl.ChangeBitmap(ID_FILE_SAVE, 7);
}
CToolBarCtrl::CheckButton
ツール バー コントロールの特定のボタンをオンまたはオフにします。
BOOL CheckButton(
int nID,
BOOL bCheck = TRUE);
パラメーター
nID
チェックまたはクリアするボタンのコマンド識別子。
bCheck
TRUE ボタンを確認するには、 FALSE してクリアします。
戻り値
成功した場合は 0 以外を返します。それ以外の場合は 0 を返します。
解説
ボタンがオンになっていると、ボタンが押されたように見えます。 複数のボタンの状態を変更する場合は、代わりに SetState 呼び出しを検討してください。
CToolBarCtrl::CommandToIndex
指定したコマンド識別子に関連付けられているボタンの 0 から始まるインデックスを取得します。
UINT CommandToIndex(UINT nID) const;
パラメーター
nID
ボタンインデックスを検索するコマンド ID。
戻り値
コマンド ID に関連付けられているボタンの 0 から始まるインデックス。
解説
CToolBarCtrl::Create
ツール バー コントロールを作成し、 CToolBarCtrl オブジェクトにアタッチします。
virtual BOOL Create(
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
パラメーター
dwStyle
ツール バー コントロールのスタイルを指定します。 ツール バーには常に WS_CHILD スタイルが必要です。 また、「 Remarks」で説明されているように、ツール バー スタイルとウィンドウ スタイルの任意の組み合わせを指定できます。
rect
必要に応じて、ツール バー コントロールのサイズと位置を指定します。 CRect オブジェクトまたはRECT構造体のいずれかを指定できます。
pParentWnd
ツール バー コントロールの親ウィンドウを指定します。 NULLすることはできません。
nID
ツール バー コントロールの ID を指定します。
戻り値
成功した場合は 0 以外を返します。それ以外の場合は 0 を返します。
解説
2 つの手順で CToolBarCtrl を構築します。 まず、コンストラクターを呼び出してから Createを呼び出します。これにより、ツール バー コントロールが作成され、 CToolBarCtrl オブジェクトにアタッチされます。 ツール バー コントロールに次のウィンドウ スタイルを適用します。
WS_CHILDいつもWS_VISIBLE通常はWS_DISABLED稀に
ウィンドウ スタイルの説明については、Windows SDK の CreateWindow を参照してください。
必要に応じて、Windows SDK で説明されているように、 common コントロール スタイルの組み合わせを適用します。
コントロールまたはボタン自体にツール バー スタイルの組み合わせを適用します。 これらのスタイルについては、Windows SDK の「ツール バー コントロールとボタンのスタイル」のトピックで説明します。
拡張ツール バー スタイルを使用するには、Createを呼び出した後、SetExtendedStyleを呼び出します。 拡張ウィンドウ スタイルのツール バーを作成するには、Createの代わりにCToolBarCtrl::CreateExを呼び出します。
ツール バー コントロールは、ツール バー ウィンドウのサイズと位置を自動的に設定します。 高さは、ツールバーのボタンの高さに基づいています。 幅は、親ウィンドウのクライアント領域の幅と同じです。 CCS_TOPスタイルとCCS_BOTTOMスタイルによって、ツール バーがクライアント領域の上部または下部に沿って配置されているかどうかが決まります。 既定では、ツール バーには CCS_TOP スタイルがあります。
CToolBarCtrl::CreateEx
コントロール (子ウィンドウ) を作成し、 CToolBarCtrl オブジェクトに関連付けます。
virtual BOOL CreateEx(
DWORD dwExStyle,
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
パラメーター
dwExStyle
作成するコントロールの拡張スタイルを指定します。 拡張 Windows スタイルの一覧については、Windows SDK のCreateWindowExの dwExStyle パラメーターを参照してください。
dwStyle
ツール バー コントロールのスタイルを指定します。 ツール バーには常に WS_CHILD スタイルが必要です。 また、Createの「Remarks」セクションで説明されているように、ツール バー スタイルとウィンドウ スタイルの任意の組み合わせを指定できます。
rect
pParentWndのクライアント座標で、作成するウィンドウのサイズと位置を記述するRECT構造体への参照。
pParentWnd
コントロールの親であるウィンドウへのポインター。
nID
コントロールの子ウィンドウ ID。
戻り値
正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。
解説
CreateではなくCreateExを使用して、Windows 拡張スタイルの前置WS_EX_で指定された拡張 Windows スタイルを適用します。 CreateEx は、 dwExStyleで指定された拡張 Windows スタイルを使用してコントロールを作成します。 SetExtendedStyleを使用して、コントロールに固有の拡張スタイルを設定します。 たとえば、 CreateEx を使用して WS_EX_CONTEXTHELPなどのスタイルを設定しますが、 SetExtendedStyle を使用して TBSTYLE_EX_DRAWDDARROWSなどのスタイルを設定します。 詳細については、Windows SDK の Toolbar 拡張スタイル で説明されているスタイルを参照してください。
CToolBarCtrl::CToolBarCtrl
CToolBarCtrl オブジェクトを構築します。
CToolBarCtrl();
解説
ツール バーを使用できるようにするには、 Create を呼び出す必要があります。
CToolBarCtrl::Customize
[ツールバーのカスタマイズ] ダイアログ ボックスを表示します。
void Customize();
解説
このダイアログ ボックスを使用すると、ユーザーはボタンを追加および削除してツール バーをカスタマイズできます。 カスタマイズをサポートするには、「カスタマイズ通知の処理」の説明に従って、ツール バーの親ウィンドウでカスタマイズ通知メッセージ 処理する必要があります。 CToolBarCtrl::Createで説明されているように、ツール バーも CCS_ADJUSTABLE スタイルで作成されている必要があります。
CToolBarCtrl::DeleteButton
ツール バー コントロールからボタンを削除します。
BOOL DeleteButton(int nIndex);
パラメーター
nIndex
削除するボタンの 0 から始まるインデックス。
戻り値
成功した場合は 0 以外を返します。それ以外の場合は 0 を返します。
解説
CToolBarCtrl::EnableButton
ツール バー コントロールの指定したボタンを有効または無効にします。
BOOL EnableButton(
int nID,
BOOL bEnable = TRUE);
パラメーター
nID
有効または無効にするボタンのコマンド識別子。
bEnable
ボタンを有効にする場合は TRUE、無効にする場合は FALSE です。
戻り値
成功した場合は 0 以外を返します。それ以外の場合は 0 を返します。
解説
ボタンが有効になっている場合は、ボタンを押してチェックできます。 複数のボタンの状態を変更する場合は、代わりに SetState 呼び出しを検討してください。
CToolBarCtrl::GetAnchorHighlight
ツールバーのアンカー強調表示設定を取得します。
BOOL GetAnchorHighlight() const;
戻り値
0 以外の場合、アンカーの強調表示が有効になります。 ゼロの場合、アンカーの強調表示は無効になります。
解説
このメンバー関数では、Windows SDK で説明されているように、Win32 メッセージ TB_GETANCHORHIGHLIGHT の動作が実装されます。
CToolBarCtrl::GetBitmap
ツールバーのボタンに関連付けられているビットマップのインデックスを取得します。
int GetBitmap(int nID) const;
パラメーター
nID
ビットマップ インデックスを取得するボタンのコマンド識別子。
戻り値
成功した場合はビットマップのインデックスを返し、それ以外の場合は 0 を返します。
解説
Windows SDK で TB_GETBITMAP の機能を実装します。
CToolBarCtrl::GetBitmapFlags
ツール バーからビットマップ フラグを取得します。
UINT GetBitmapFlags() const;
戻り値
表示で大きなツール バー ビットマップをサポートできる場合は、TBBF_LARGE フラグが設定されているUINT。それ以外の場合はクリアします。
解説
ツール バーを作成した後、ツール バーにビットマップを追加する前に呼び出す必要があります。 戻り値は、表示で大きなビットマップがサポートされているかどうかを示します。 ディスプレイが大きなビットマップをサポートしていて、使用することを選択した場合は、AddBitmapを使用して大きなビットマップを追加する前に、SetBitmapSizeとSetButtonSizeを呼び出します。
CToolBarCtrl::GetButton
ツール バー コントロール内の指定したボタンに関する情報を取得します。
BOOL GetButton(
int nIndex,
LPTBBUTTON lpButton) const;
パラメーター
nIndex
情報を取得するボタンの 0 から始まるインデックス。
lpButton
ボタン情報のコピーを受け取る TBBUTTON 構造体のアドレス。 TBBUTTON構造の詳細については、CToolBarCtrl::AddButtonsを参照してください。
戻り値
成功した場合は 0 以外を返します。それ以外の場合は 0 を返します。
CToolBarCtrl::GetButtonCount
現在ツール バー コントロールにあるボタンの数を取得します。
int GetButtonCount() const;
戻り値
ボタンの数。
CToolBarCtrl::GetButtonInfo
ツール バーのボタンの情報を取得します。
int GetButtonInfo(
int nID,
TBBUTTONINFO* ptbbi) const;
パラメーター
nID
ボタン識別子。
ptbbi
ボタン情報を受け取る TBBUTTONINFO 構造体へのポインター。
戻り値
成功した場合は、ボタンの 0 から始まるインデックス。それ以外の場合は -1。
解説
このメンバー関数では、Windows SDK で説明されているように、Win32 メッセージ TB_GETBUTTONINFO の動作が実装されます。
CToolBarCtrl::GetButtonSize
ツール バー ボタンのサイズを取得します。
DWORD GetButtonSize() const;
戻り値
LOWORDとHIWORDの幅と高さの値をそれぞれ含むDWORD値。
CToolBarCtrl::GetButtonText
現在のツール バー コントロールの指定したボタンの表示テキストを取得します。
CString GetButtonText(int idButton) const;
パラメーター
idButton
[in]表示テキストが取得されるボタンの識別子。
戻り値
指定したボタンの表示テキストを含む CString 。
解説
このメソッドは、Windows SDK で説明されている TB_GETBUTTONTEXT メッセージを送信します。
CToolBarCtrl::GetColorScheme
現在のツール バー コントロールの配色を取得します。
BOOL GetColorScheme(COLORSCHEME* lpColorScheme) const;
パラメーター
lpColorScheme
[out]配色情報を受け取る COLORSCHEME 構造体へのポインター。 このメソッドが返されると、構造体はツール バー コントロールの強調表示の色と影の色を記述します。
戻り値
TRUE このメソッドが成功した場合。それ以外の場合は FALSE。
解説
このメソッドは、Windows SDK で説明されている TB_GETCOLORSCHEME メッセージを送信します。
CToolBarCtrl::GetDisabledImageList
ツール バー コントロールが無効なボタンを表示するために使用するイメージの一覧を取得します。
CImageList* GetDisabledImageList() const;
戻り値
CImageList オブジェクトへのポインター。無効なイメージ リストが設定されていない場合はNULL。
解説
このメンバー関数では、Windows SDK で説明されているように、Win32 メッセージ TB_GETDISABLEDIMAGELIST の動作が実装されます。 GetDisabledImageListの MFC 実装では、イメージ リストへのハンドルではなく、ツール バー コントロールのボタン イメージを含むCImageList オブジェクトを使用します。
CToolBarCtrl::GetDropTarget
ツール バー コントロールの IDropTarget インターフェイスを取得します。
HRESULT GetDropTarget(IDropTarget** ppDropTarget) const;
パラメーター
ppDropTarget
IDropTarget インターフェイス ポインターを指すポインター。 エラーが発生した場合、 NULL ポインターがこのアドレスに配置されます。
戻り値
操作の成功または失敗を示す HRESULT 値を返します。
解説
このメンバー関数では、Windows SDK で説明されているように、Win32 メッセージ TB_GETOBJECT の動作が実装されます。
CToolBarCtrl::GetExtendedStyle
ツールバー コントロールの拡張スタイルを取得します。
DWORD GetExtendedStyle() const;
戻り値
ツール バー コントロールに現在使用されている拡張スタイルを表す DWORD 。 スタイルの一覧については、Windows SDK の「 ツール バー拡張スタイル」を参照してください。
解説
このメンバー関数では、Windows SDK で説明されているように、Win32 メッセージ TB_GETEXTENDEDSTYLE の動作が実装されます。
CToolBarCtrl::GetHotImageList
ツール バー コントロールが "ホット" ボタンを表示するために使用するイメージの一覧を取得します。 マウス ポインターが上にあると、ホット ボタンが強調表示されます。
CImageList* GetHotImageList() const;
戻り値
CImageList オブジェクトへのポインター。無効なイメージ リストが設定されていない場合はNULL。
解説
このメンバー関数では、Windows SDK で説明されているように、Win32 メッセージ TB_GETHOTIMAGELIST の動作が実装されます。 マウス ポインターが上にあると、ホット ボタンが強調表示されます。
CToolBarCtrl::GetHotItem
ツールバーのホット アイテムのインデックスを取得します。
int GetHotItem() const;
戻り値
ツール バーのホットアイテムの 0 から始まるインデックス。
解説
このメンバー関数では、Windows SDK で説明されているように、Win32 メッセージ TB_GETHOTITEM の動作が実装されます。
CToolBarCtrl::GetImageList
ツールバー コントロールがボタンを既定の状態で表示するために使用するイメージ リストを取得します。
CImageList* GetImageList() const;
戻り値
CImageList オブジェクトへのポインター。イメージ リストが設定されていない場合はNULL。
解説
このメンバー関数では、Windows SDK で説明されているように、Win32 メッセージ TB_GETIMAGELIST の動作が実装されます。
CToolBarCtrl::GetInsertMark
ツールバーの現在の挿入マークを取得します。
void GetInsertMark(TBINSERTMARK* ptbim) const;
パラメーター
ptbim
挿入マークを受け取る TBINSERTMARK 構造体へのポインター。
解説
このメンバー関数では、Windows SDK で説明されているように、Win32 メッセージ TB_GETINSERTMARK の動作が実装されます。
CToolBarCtrl::GetInsertMarkColor
ツールバーの挿入マークの描画に使用する色を取得します。
COLORREF GetInsertMarkColor() const;
戻り値
現在の挿入マークの色を含む COLORREF 値。
解説
このメンバー関数では、Windows SDK で説明されているように、Win32 メッセージ TB_GETINSERTMARKCOLOR の動作が実装されます。
CToolBarCtrl::GetItemRect
ツール バー コントロール内のボタンの外接する四角形を取得します。
BOOL GetItemRect(
int nIndex,
LPRECT lpRect) const;
パラメーター
nIndex
情報を取得するボタンの 0 から始まるインデックス。
lpRect
外接する四角形の座標を受け取る RECT 構造体または CRect オブジェクトのアドレス。
戻り値
成功した場合は 0 以外を返します。それ以外の場合は 0 を返します。
解説
この関数は、状態が TBSTATE_HIDDEN に設定されているボタンの外接する四角形を取得しません。
CToolBarCtrl::GetMaxSize
ツールバーに表示されているすべてのボタンと区切り記号の合計サイズを取得します。
BOOL GetMaxSize(LPSIZE pSize) const;
パラメーター
pSize
項目のサイズを受け取る SIZE 構造体へのポインター。
戻り値
正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。
解説
このメンバー関数では、Windows SDK で説明されているように、Win32 メッセージ TB_GETMAXSIZE の動作が実装されます。
CToolBarCtrl::GetMaxTextRows
ツール バー ボタンに表示されるテキスト行の最大数を取得します。
int GetMaxTextRows() const;
戻り値
ツール バー ボタンに表示されるテキスト行の最大数。
CToolBarCtrl::GetMetrics
CToolBarCtrl オブジェクトのメトリックを取得します。
void GetMetrics(LPTBMETRICS ptbm) const;
パラメーター
ptbm
CToolBarCtrl オブジェクトのTBMETRICS構造体へのポインター。
解説
このメンバー関数は、Windows SDK で説明されているように、 TB_GETMETRICS メッセージの機能をエミュレートします。
CToolBarCtrl::GetPadding
現在のツール バー コントロールの水平方向と垂直方向のパディングを取得します。
BOOL GetPadding(
int* pnHorzPadding,
int* pnVertPadding) const;
パラメーター
pnHorzPadding
[out]ツールバー コントロールの水平方向のパディングを受け取る整数 (ピクセル単位)。
pnVertPadding
[out]ツールバー コントロールの垂直方向のパディングをピクセル単位で受け取る整数。
戻り値
TRUE このメソッドが成功した場合。それ以外の場合は FALSE。
解説
このメソッドは、Windows SDK で説明されている TB_GETPADDING メッセージを送信します。
CToolBarCtrl::GetPressedImageList
現在のツール バー コントロールが押された状態のボタンを表すために使用する画像リストを取得します。
CImageList* GetPressedImageList();
戻り値
現在のコントロールのイメージ リストを含む CImageList へのポインター。または、そのようなイメージ リストが設定されていない場合は NULL 。
解説
このメソッドは、Windows SDK で説明されている TB_GETPRESSEDIMAGELIST メッセージを送信します。
CToolBarCtrl::GetRect
指定したツールバー ボタンの外接矩形を取得します。
BOOL GetRect(
int nID,
LPRECT lpRect) const;
パラメーター
nID
ボタン識別子。
lpRect
外接する四角形情報を受け取る RECT 構造体へのポインター。
戻り値
成功した場合は TRUE。それ以外の場合は FALSE。
解説
このメンバー関数では、Windows SDK で説明されているように、Win32 メッセージ TB_GETRECT の動作が実装されます。
CToolBarCtrl::GetRows
ツール バー コントロールによって現在表示されているボタンの行数を取得します。
int GetRows() const;
戻り値
現在ツール バーに表示されているボタンの行数。
解説
TBSTYLE_WRAPABLE スタイルでツール バーが作成されていない限り、行数は常に 1 であることに注意してください。
CToolBarCtrl::GetState
ツール バー コントロール内の指定したボタンの状態に関する情報を取得します (有効か、押されているか、オンかなど)。
int GetState(int nID) const;
パラメーター
nID
情報を取得するボタンのコマンド識別子。
戻り値
成功した場合はボタンの状態情報。それ以外の場合は -1。 ボタンの状態情報は、 CToolBarCtrl::AddButtonsに記載されている値の組み合わせにすることができます。
解説
この関数は、複数のボタンの状態を取得する場合に特に便利です。 状態を 1 つだけ取得するには、 IsButtonEnabled、 IsButtonChecked、 IsButtonPressed、 IsButtonHidden、または IsButtonIndeterminateのいずれかのメンバー関数を使用します。 ただし、 GetState メンバー関数は、 TBSTATE_WRAP ボタンの状態を検出する唯一の方法です。
CToolBarCtrl::GetString
ツール バー文字列を取得します。
int GetString(
int nString,
LPTSTR lpstrString,
int cchMaxLen) const;
int GetString(
int nString,
CString& str) const;
パラメーター
nString
文字列のインデックス。
lpstrString
文字列を返すために使用されるバッファーへのポインター。
cchMaxLen
バッファーの長さ (バイト単位)。
str
の文字列。
戻り値
成功した場合は文字列の長さ、そうでない場合は -1。
解説
このメンバー関数では、Windows SDK で説明されているように、Win32 メッセージ TB_GETSTRING の動作が実装されます。
CToolBarCtrl::GetStyle
ツール バー コントロールに現在適用されているスタイルを取得します。
DWORD GetStyle() const;
戻り値
Windows SDK で説明されているように、ツール バー コントロール スタイルの組み合わせを含むDWORD。
CToolBarCtrl::GetToolTips
ツール バー コントロールに関連付けられているツール ヒント コントロールのハンドル (存在する場合) を取得します。
CToolTipCtrl* GetToolTips() const;
戻り値
このツール バーに関連付けられている CToolTipCtrl オブジェクトへのポインター。ツール バーにツール ヒント コントロールが関連付けられていない場合は NULL 。
解説
ツール バー コントロールは通常、独自のツール ヒント コントロールを作成して維持するため、ほとんどのプログラムでこの関数を呼び出す必要はありません。
CToolBarCtrl::HitTest
ツールバー コントロール内のポイントの位置を決定します。
int HitTest(LPPOINT ppt) const;
パラメーター
ppt
x メンバー内のヒット テストの x 座標と、y メンバー内のヒット テストの y 座標を含むPOINT構造体へのポインター。 座標は、ツール バーのクライアント領域を基準にしています。
戻り値
ツール バー上のポイントの位置を示す整数値。 値が 0 または正の値の場合、この戻り値は、ポイントが存在する非セパレーター項目の 0 から始まるインデックスです。
戻り値が負の場合、ポイントはボタン内にありません。 戻り値の絶対値は、区切り記号項目または最も近い非セパレーター項目のインデックスです。
解説
このメンバー関数では、Windows SDK で説明されているように、Win32 メッセージ TB_HITTEST の動作が実装されます。
CToolBarCtrl::HideButton
ツール バー コントロールの指定したボタンを非表示または表示します。
BOOL HideButton(
int nID,
BOOL bHide = TRUE);
パラメーター
nID
表示または非表示にするボタンのコマンド識別子。
bHide
TRUE ボタンを非表示にするには、 FALSE して表示します。
戻り値
成功した場合は 0 以外を返します。それ以外の場合は 0 を返します。
解説
複数のボタンの状態を変更する場合は、代わりに SetState 呼び出しを検討してください。
CToolBarCtrl::Indeterminate
ツール バー コントロールの指定したボタンの不確定な状態を設定またはクリアします。
BOOL Indeterminate(
int nID,
BOOL bIndeterminate = TRUE);
パラメーター
nID
不確定な状態が設定またはクリアされるボタンのコマンド識別子。
bIndeterminate
TRUE 指定したボタンの不確定な状態を設定するには、 FALSE してクリアします。
戻り値
成功した場合は 0 以外を返します。それ以外の場合は 0 を返します。
解説
不確定なボタンは灰色で表示されます。たとえば、選択したテキストに太字と標準文字の両方が含まれている場合に、ワード プロセッサのツール バーの太字ボタンが表示されます。 複数のボタンの状態を変更する場合は、代わりに SetState 呼び出しを検討してください。
CToolBarCtrl::InsertButton
ツール バー コントロールにボタンを挿入します。
BOOL InsertButton(
int nIndex,
LPTBBUTTON lpButton);
パラメーター
nIndex
ボタンの 0 から始まるインデックス。 この関数は、このボタンの左側に新しいボタンを挿入します。
lpButton
挿入するボタンに関する情報を含む TBBUTTON 構造体のアドレス。 TBBUTTON構造の説明については、CToolBarCtrl::AddButtonsを参照してください。
戻り値
成功した場合は 0 以外を返します。それ以外の場合は 0 を返します。
解説
指定するインデックスを持つイメージや文字列は、 AddBitmap、 AddString、 AddStringsを使用して、以前にツール バー コントロールの一覧に追加されている必要があります。
CToolBarCtrl::InsertMarkHitTest
ツールバー内のポイントの挿入マーク情報を取得します。
BOOL InsertMarkHitTest(
LPPOINT ppt,
LPTBINSERTMARK ptbim) const;
パラメーター
ppt
ツール バーのクライアント領域を基準にしたヒット テスト座標を含む POINT 構造体へのポインター。
ptbim
挿入マーク情報を受け取る TBINSERTMARK 構造体へのポインター。
戻り値
成功した場合は 0 以外を返します。それ以外の場合は 0 を返します。
解説
このメンバー関数では、Windows SDK で説明されているように、Win32 メッセージ TB_INSERTMARKHITTEST の動作が実装されます。
CToolBarCtrl::IsButtonChecked
ツール バー コントロール内の指定したボタンをオンにするかどうかを指定します。
BOOL IsButtonChecked(int nID) const;
パラメーター
nID
ツール バーのボタンのコマンド識別子。
戻り値
ボタンがオンの場合は 0 以外。それ以外の場合は 0。
解説
複数のボタンの状態を取得する場合は、 GetState の呼び出しを検討してください。
CToolBarCtrl::IsButtonEnabled
ツール バー コントロールの指定したボタンが有効かどうかを判断します。
BOOL IsButtonEnabled(int nID) const;
パラメーター
nID
ツール バーのボタンのコマンド識別子。
戻り値
ボタンが有効な場合は 0 以外。それ以外の場合は 0。
解説
複数のボタンの状態を取得する場合は、 GetState の呼び出しを検討してください。
CToolBarCtrl::IsButtonHidden
ツール バー コントロール内の指定したボタンを非表示にするかどうかを指定します。
BOOL IsButtonHidden(int nID) const;
パラメーター
nID
ツール バーのボタンのコマンド識別子。
戻り値
ボタンが非表示の場合は 0 以外。それ以外の場合は 0。
解説
複数のボタンの状態を取得する場合は、 GetState の呼び出しを検討してください。
CToolBarCtrl::IsButtonHighlighted
ツールバー ボタンの強調表示の状態を確認します。
BOOL IsButtonHighlighted(int nID) const;
パラメーター
nID
[in]ツール バー ボタンのコマンド ID。
戻り値
ボタンが強調表示されている場合は正の整数、ボタンが強調表示されていない場合は 0、エラーが発生した場合は -1。
CToolBarCtrl::IsButtonIndeterminate
ツール バー コントロール内の指定したボタンが不確定かどうかを判断します。
BOOL IsButtonIndeterminate(int nID) const;
パラメーター
nID
[in]ツール バーのボタンのコマンド識別子。
戻り値
ボタンが不確定の場合は正の整数、ボタンが不確定でない場合はゼロ、エラーが発生した場合は -1。
解説
不確定なボタンは淡色表示されます。たとえば、選択したテキストに太字と標準文字の両方が含まれている場合に、ワード プロセッサのツール バーの太字ボタンが表示されます。 複数のボタンの状態を取得する場合は、 GetState の呼び出しを検討してください。
CToolBarCtrl::IsButtonPressed
ツール バー コントロール内の指定したボタンが押されているかどうかを判断します。
BOOL IsButtonPressed(int nID) const;
パラメーター
nID
ツール バーのボタンのコマンド識別子。
戻り値
ボタンが押された場合は 0 以外、それ以外の場合は 0。
解説
複数のボタンの状態を取得する場合は、 GetState の呼び出しを検討してください。
CToolBarCtrl::LoadImages
ツール バー コントロールのイメージ リストにビットマップを読み込みます。
void LoadImages(
int iBitmapID,
HINSTANCE hinst);
パラメーター
iBitmapID
読み込むイメージを含むビットマップの ID。 独自のビットマップ リソースを指定するには、このパラメーターをビットマップ リソースの ID に設定し、 hInst を NULL に設定します。 ビットマップ リソースが 1 つのイメージとしてイメージ リストに追加されます。 標準のシステム定義ビットマップを追加するには、 hinst を HINST_COMMCTRL に設定し、このパラメーターを次のいずれかの ID に設定します。
| ビットマップ ID | 説明 |
|---|---|
IDB_HIST_LARGE_COLOR |
大きなサイズのエクスプローラー ビットマップ |
IDB_HIST_SMALL_COLOR |
小さいサイズのエクスプローラー ビットマップ |
IDB_STD_LARGE_COLOR |
大きなサイズの標準ビットマップ |
IDB_STD_SMALL_COLOR |
小さいサイズの標準ビットマップ |
IDB_VIEW_LARGE_COLOR |
ビットマップを大きなサイズで表示する |
IDB_VIEW_SMALL_COLOR |
ビットマップを小さいサイズで表示する |
hinst
呼び出し元アプリケーションへのプログラム インスタンス ハンドル。 このパラメーターを HINST_COMMCTRL して、標準イメージ リストを読み込むことができます。
解説
このメンバー関数では、Windows SDK で説明されているように、Win32 メッセージ TB_LOADIMAGES の動作が実装されます。
CToolBarCtrl::MapAccelerator
アクセラレータ文字をツール バー ボタンにマップします。
BOOL MapAccelerator(
TCHAR chAccel,
UINT* pIDBtn);
パラメーター
chAccel
マップするアクセラレータ文字。 この文字は、ボタンのテキストに下線が引かれるのと同じ文字です。
pIDBtn
chAccelで指定されたアクセラレータに対応するボタンのコマンド識別子を受け取るUINTへのポインター。
戻り値
成功した場合は 0 以外を返します。それ以外の場合は 0 を返します。
解説
このメンバー関数では、Windows SDK で説明されているように、Win32 メッセージ TB_MAPACCELERATOR の動作が実装されます。
CToolBarCtrl::MarkButton
ツール バー コントロールの特定のボタンの強調表示の状態を設定します。
BOOL MarkButton(
int nID,
BOOL fHighlight = TRUE);
パラメーター
nID
ボタン識別子。
fHighlight
設定する強調表示の状態を指定します。 既定では、 TRUE。 FALSEに設定すると、ボタンは既定の状態に設定されます。
戻り値
正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。
解説
このメンバー関数では、Windows SDK で説明されているように、Win32 メッセージ TB_MARKBUTTON の動作が実装されます。
CToolBarCtrl::MoveButton
あるインデックスから別のインデックスにボタンを移動します。
BOOL MoveButton(
UINT nOldPos,
UINT nNewPos);
パラメーター
nOldPos
移動するボタンの 0 から始まるインデックス。
nNewPos
ボタンの宛先の 0 から始まるインデックス。
戻り値
正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。
解説
このメンバー関数では、Windows SDK で説明されているように、Win32 メッセージ TB_MOVEBUTTON の動作が実装されます。
CToolBarCtrl::PressButton
ツール バー コントロールの指定したボタンを押すか離します。
BOOL PressButton(int nID, BOOL bPress = TRUE);
パラメーター
nID
[in]押すか離すボタンのコマンド識別子。
bPress
[入力] TRUE 指定したボタンを押します。指定したボタンを離 FALSE 。 既定値は TRUE です。
戻り値
このメソッドが成功した場合は TRUE。それ以外の場合は FALSE。
解説
複数のボタンの状態を変更する場合は、代わりに SetState 呼び出しを検討してください。
このメソッドは、Windows SDK で説明されている TB_PRESSBUTTON メッセージを送信します。
CToolBarCtrl::ReplaceBitmap
現在のツール バー コントロール内の既存のビットマップを新しいビットマップに置き換えます。
BOOL ReplaceBitmap(LPTBREPLACEBITMAP pReplaceBitmap);
パラメーター
pReplaceBitmap
[in]置き換えるビットマップと新しいビットマップを記述する TBREPLACEBITMAP 構造体へのポインター。
戻り値
TRUE このメソッドが成功した場合。それ以外の場合は FALSE。
解説
このメソッドは、Windows SDK で説明されている TB_REPLACEBITMAP メッセージを送信します。
例
次のコード例では、標準ツール バーのビットマップを別のビットマップに置き換えます。
{
// Replace one toolbar bitmap with another.
TBREPLACEBITMAP tbrb;
tbrb.hInstOld = ::AfxGetInstanceHandle();
tbrb.nIDOld = IDR_MAINFRAME;
tbrb.hInstNew = ::AfxGetInstanceHandle();
tbrb.nIDNew = IDR_MAINFRAME1;
tbrb.nButtons = 8;
CToolBarCtrl &m_toolBarCtrl = m_wndToolBar.GetToolBarCtrl();
BOOL bRet = m_toolBarCtrl.ReplaceBitmap(&tbrb);
}
CToolBarCtrl::RestoreState
パラメーターで指定されたレジストリ内の場所から、ツール バー コントロールの状態を復元します。
void RestoreState(
HKEY hKeyRoot,
LPCTSTR lpszSubKey,
LPCTSTR lpszValueName);
パラメーター
hKeyRoot
レジストリ内の現在開いているキー、または次の定義済みの予約済みハンドル値のいずれかを識別します。
HKEY_CLASSES_ROOTHKEY_CURRENT_USERHKEY_LOCAL_MACHINEHKEY_USERS
lpszSubKey
値が関連付けられているサブキーの名前を含む、 NULL終了文字列を指します。 このパラメーターには、 NULL または空の文字列へのポインターを指定できます。 パラメーターが NULLされている場合は、 hKeyRoot パラメーターによって識別されるキーに値が追加されます。
lpszValueName
取得する値の名前を含む文字列を指します。 この名前の値がまだキーに存在しない場合、関数によってキーに追加されます。
CToolBarCtrl::SaveState
ツール バー コントロールの状態を、パラメーターで指定されたレジストリ内の場所に保存します。
void SaveState(
HKEY hKeyRoot,
LPCTSTR lpszSubKey,
LPCTSTR lpszValueName);
パラメーター
hKeyRoot
レジストリ内の現在開いているキー、または次の定義済みの予約済みハンドル値のいずれかを識別します。
HKEY_CLASSES_ROOTHKEY_CURRENT_USERHKEY_LOCAL_MACHINEHKEY_USERS
lpszSubKey
値が関連付けられているサブキーの名前を含む、 NULL終了文字列を指します。 このパラメーターには、 NULL または空の文字列へのポインターを指定できます。 パラメーターが NULLされている場合は、 hKeyRoot パラメーターによって識別されるキーに値が追加されます。
lpszValueName
設定する値の名前を含む文字列を指します。 この名前の値がまだキーに存在しない場合、関数によってキーに追加されます。
CToolBarCtrl::SetAnchorHighlight
ツールバーのアンカー強調表示設定を設定します。
BOOL SetAnchorHighlight(BOOL fAnchor = TRUE);
パラメーター
fAnchor
[in]アンカーの強調表示を有効または無効にするかどうかを指定します。 この値が 0 以外の場合、アンカーの強調表示が有効になります。 この値が 0 の場合、アンカーの強調表示は無効になります
戻り値
前のアンカー設定。 強調表示が有効になっている場合、この値は 0 以外です。 強調表示が有効になっていない場合、この値は 0 です。
解説
このメソッドは、Windows SDK で説明されているように、Win32 メッセージ TB_SETANCHORHIGHLIGHTの動作を実装します。
CToolBarCtrl::SetBitmapSize
ツール バー コントロールに追加するビットマップイメージの実際のサイズを設定します。
BOOL SetBitmapSize(CSize size);
パラメーター
size
ビットマップ画像の幅と高さ (ピクセル単位)。
戻り値
成功した場合は 0 以外を返します。それ以外の場合は 0 を返します。
解説
この関数は、ツール バーにビットマップを追加する前にのみ呼び出す必要があります。 アプリケーションがビットマップ サイズを明示的に設定しない場合、既定値は 16 x 15 ピクセルです。
CToolBarCtrl::SetButtonInfo
ツールバーの既存のボタンの情報を設定します。
BOOL SetButtonInfo(
int nID,
TBBUTTONINFO* ptbbi);
パラメーター
nID
ボタン識別子。
ptbbi
ボタン情報を受け取る TBBUTTONINFO 構造体へのポインター。
戻り値
正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。
解説
メンバー関数は、Windows SDK で説明されているように、Win32 メッセージ TB_SETBUTTONINFOの動作を実装します。
CToolBarCtrl::SetButtonSize
ツール バー コントロールのボタンのサイズを設定します。
BOOL SetButtonSize(CSize size);
パラメーター
size
ボタンの幅と高さ (ピクセル単位)。
戻り値
成功した場合は 0 以外を返します。それ以外の場合は 0 を返します。
解説
ボタンのサイズは、常に、それが囲むビットマップ サイズと同じ大きさにする必要があります。 この関数は、ツール バーにビットマップを追加する前にのみ呼び出す必要があります。 アプリケーションでボタン のサイズが明示的に設定されていない場合、既定では 24 x 22 ピクセルになります。
例
CToolBar::GetToolBarCtrl の例を参照してください。
CToolBarCtrl::SetButtonStructSize
TBBUTTON構造体のサイズを指定します。
void SetButtonStructSize(int nSize);
パラメーター
nSize
TBBUTTON構造体のサイズ (バイト単位)。
解説
TBBUTTON構造体に追加のデータを格納する場合は、TBBUTTONから新しい構造体を派生させるか、必要なメンバーを追加するか、TBBUTTON構造体を最初のメンバーとして含む新しい構造体を作成します。 その後、この関数を呼び出して、ツール バーに新しい構造体のサイズを制御するように指示します。
TBBUTTON構造の詳細については、CToolBarCtrl::AddButtonsを参照してください。
CToolBarCtrl::SetButtonWidth
ツール バー コントロールのボタンの最小幅と最大幅を設定します。
BOOL SetButtonWidth(
int cxMin,
int cxMax);
パラメーター
cxMin
ボタンの最小幅 (ピクセル単位)。 ツール バー ボタンは、この値より狭くすることはできません。
cxMax
ボタンの最大幅 (ピクセル単位)。 ボタンのテキストが大きすぎる場合、コントロールは省略記号付きで表示します。
戻り値
正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。
解説
このメンバー関数では、Windows SDK で説明されているように、Win32 メッセージ TB_SETBUTTONWIDTH の動作が実装されます。
CToolBarCtrl::SetCmdID
指定したボタンが押されたときに所有者ウィンドウに送信されるコマンド識別子を設定します。
BOOL SetCmdID(
int nIndex,
UINT nID);
パラメーター
nIndex
コマンド ID が設定されるボタンの 0 から始まるインデックス。
nID
選択したボタンを設定するコマンド ID。
戻り値
成功した場合は 0 以外の値を返します。それ以外の場合は 0。
CToolBarCtrl::SetColorScheme
現在のツール バー コントロールの配色を設定します。
void SetColorScheme(const COLORSCHEME* lpColorScheme);
パラメーター
lpColorScheme
[in]ツール バー コントロールの強調表示の色と影の色を記述する COLORSCHEME 構造体へのポインター。
解説
Windows Vista ビジュアル テーマが設定されている場合、このメソッドは無効です。
このメソッドは、Windows SDK で説明されている TB_SETCOLORSCHEME メッセージを送信します。
例
次のコード例では、現在のツール バー コントロールの配色を設定します。 このコード例では、各ツール ボタンの左端と上端を赤にし、右端と下端を青にします。 ユーザーがボタンを押すと、ボタンの赤いエッジが青になり、青いエッジが赤に変わります。
//Set color scheme for the current toolbar control.
//Make the left and top edges of the tool button red,
//and the right and bottom edges blue. The colors
//reverse when a button is pressed.
//This method has no effect if the Vista visual theme
//is set.
{
COLORSCHEME cs;
cs.dwSize = sizeof(COLORSCHEME);
cs.clrBtnHighlight = RGB(255, 0, 0);
cs.clrBtnShadow = RGB(0, 0, 255);
CToolBarCtrl &m_toolBarCtrl = m_wndToolBar.GetToolBarCtrl();
m_toolBarCtrl.SetColorScheme(&cs);
}
CToolBarCtrl::SetDisabledImageList
ツールバー コントロールが無効なボタンを表示するために使用するイメージ リストを設定します。
CImageList* SetDisabledImageList(CImageList* pImageList);
パラメーター
pImageList
ツール バー コントロールが無効なボタンイメージを表示するために使用するイメージを含む CImageList オブジェクトへのポインター。
戻り値
無効なボタンイメージを表示するためにツール バー コントロールによって以前に使用された CImageList オブジェクトへのポインター。
解説
このメンバー関数では、Windows SDK で説明されているように、Win32 メッセージ TB_SETDISABLEDIMAGELIST の動作が実装されます。 SetDisabledImageListの MFC 実装では、イメージ リストへのハンドルではなく、ツール バー コントロールの無効なボタン イメージを含むCImageList オブジェクトが使用されます。
CToolBarCtrl::SetDrawTextFlags
Win32 関数 DrawTextのフラグを設定します。これは、指定した四角形内のテキストを描画するために使用され、フラグの設定方法に従って書式設定されます。
DWORD SetDrawTextFlags(
DWORD dwMask,
DWORD dwDTFlags);
パラメーター
dwMask
Win32 関数DrawTextで指定された 1 つ以上のDT_ フラグの組み合わせ。テキストの描画時に使用されるdwDTFlagsのビットを示します。
dwDTFlags
ボタン テキストの描画方法を示す、Win32 関数DrawTextで指定された 1 つ以上のDT_ フラグの組み合わせ。 この値は、ボタンテキストが描画されるときに DrawText に渡されます。
戻り値
前のテキスト描画フラグを含む DWORD 。
解説
このメンバー関数では、Windows SDK で説明されているように、Win32 メッセージ TB_SETDRAWTEXTFLAGS の動作が実装されます。 このメンバー関数は、Win32 関数 DrawTextのフラグを設定します。これにより、指定した四角形にテキストが描画され、フラグの設定方法に従って書式設定されます。
CToolBarCtrl::SetExtendedStyle
ツールバー コントロールの拡張スタイルを設定します。
DWORD SetExtendedStyle(DWORD dwExStyle);
パラメーター
dwExStyle
新しい拡張スタイルを指定する値。 このパラメーターには、ツール バーの拡張スタイルの組み合わせを指定できます。
戻り値
前の拡張スタイルを表す DWORD 。 スタイルの一覧については、Windows SDK の「 ツール バー拡張スタイル」を参照してください。
解説
このメンバー関数では、Windows SDK で説明されているように、Win32 メッセージ TB_SETEXTENDEDSTYLE の動作が実装されます。
CToolBarCtrl::SetHotImageList
ツール バー コントロールが "ホット" ボタンの表示に使用するイメージ リストを設定します。
CImageList* SetHotImageList(CImageList* pImageList);
パラメーター
pImageList
ツール バー コントロールがホット ボタンの画像を表示するために使用するイメージを含む CImageList オブジェクトへのポインター。
戻り値
ホット ボタンの画像を表示するためにツール バー コントロールによって以前に使用された CImageList オブジェクトへのポインター。
解説
このメンバー関数では、Windows SDK で説明されているように、Win32 メッセージ TB_SETHOTIMAGELIST の動作が実装されます。
SetHotImageListの MFC 実装では、イメージ リストへのハンドルではなく、ツール バー コントロールのホット ボタン イメージを含むCImageList オブジェクトを使用します。 ポインターが上にあると、ホット ボタンが強調表示されます。
CToolBarCtrl::SetHotItem
ツールバーのホット アイテムを設定します。
int SetHotItem(int nHot);
パラメーター
nHot
ホットになるアイテムの 0 から始まるインデックス番号。 この値が -1 の場合、どの項目もホットになることはありません。
戻り値
前のホットアイテムのインデックス。ホットアイテムが存在しない場合は -1。
解説
このメンバー関数では、Windows SDK で説明されているように、Win32 メッセージ TB_SETHOTITEM の動作が実装されます。
CToolBarCtrl::SetImageList
既定の状態のボタンを表示するためにツール バーが使用するイメージ リストを設定します。
CImageList* SetImageList(CImageList* pImageList);
パラメーター
pImageList
既定の状態でボタンイメージを表示するためにツール バー コントロールによって使用されるイメージを含む CImageList オブジェクトへのポインター。
戻り値
既定の状態でボタンイメージを表示するためにツール バー コントロールによって以前に使用された CImageList オブジェクトへのポインター。
解説
このメンバー関数では、Windows SDK で説明されているように、Win32 メッセージ TB_SETIMAGELIST の動作が実装されます。
SetImageListの MFC 実装では、イメージ リストへのハンドルではなく、ツール バー コントロールのボタン イメージを含むCImageList オブジェクトを使用します。
CToolBarCtrl::SetIndent
ツールバー コントロールの最初のボタンのインデントを設定します。
BOOL SetIndent(int iIndent);
パラメーター
iIndent
インデントを指定する値 (ピクセル単位)。
戻り値
成功した場合は 0 以外を返します。それ以外の場合は 0 を返します。
CToolBarCtrl::SetInsertMark
ツールバーの現在の挿入マークを設定します。
void SetInsertMark(TBINSERTMARK* ptbim);
パラメーター
ptbim
挿入マークを含む TBINSERTMARK 構造体へのポインター。
解説
このメンバー関数では、Windows SDK で説明されているように、Win32 メッセージ TB_SETINSERTMARK の動作が実装されます。
CToolBarCtrl::SetInsertMarkColor
ツールバーの挿入マークの描画に使用する色を設定します。
COLORREF SetInsertMarkColor(COLORREF clrNew);
パラメーター
clrNew
新しい挿入マークの色を含む COLORREF 値。
戻り値
前の挿入マークの色を含む COLORREF 値。
解説
このメンバー関数では、Windows SDK で説明されているように、Win32 メッセージ TB_SETINSERTMARKCOLOR の動作が実装されます。
CToolBarCtrl::SetMaxTextRows
ツールバー ボタンに表示されるテキスト行の最大数を設定します。
BOOL SetMaxTextRows(int iMaxRows);
パラメーター
iMaxRows
設定する行の最大数。
戻り値
成功した場合は 0 以外を返します。それ以外の場合は 0 を返します。
CToolBarCtrl::SetMetrics
CToolBarCtrl オブジェクトのメトリックを設定します。
void SetMetrics(LPTBMETRICS ptbm);
パラメーター
ptbm
CToolBarCtrl オブジェクトのTBMETRICS構造体へのポインター。
解説
このメンバー関数は、Windows SDK で説明されているように、 TB_SETMETRICS メッセージの機能をエミュレートします。
CToolBarCtrl::SetOwner
ツール バー コントロールの所有者ウィンドウを設定します。
void SetOwner(CWnd* pWnd);
パラメーター
pWnd
ツール バー コントロールの新しい所有者ウィンドウとなる CWnd または CWnd派生オブジェクトへのポインター。
解説
所有者ウィンドウは、ツール バーから通知を受け取るウィンドウです。
CToolBarCtrl::SetPadding
現在のツール バー コントロールの水平方向と垂直方向のパディングを設定します。
DWORD SetPadding(
int nHorzPadding,
int nVertPadding);
パラメーター
nHorzPadding
[in]ツールバー コントロールの水平方向のパディングをピクセル単位で指定します。
nVertPadding
[in]ツールバー コントロールの垂直方向のパディングをピクセル単位で指定します。
戻り値
低い単語に前の水平パディング値が含まれており、高い単語に前の垂直パディング値が含まれている DWORD 。 パディング値はピクセル単位で測定されます。
解説
このメソッドは、Windows SDK で説明されている TB_SETPADDING メッセージを送信します。
例
次のコード例では、現在のツール バー コントロールの水平方向と垂直方向のパディングを 20 ピクセルに設定します。
{
// Set the horizontal and vertical padding of the current
// toolbar control.
CToolBarCtrl &m_toolBarCtrl = m_wndToolBar.GetToolBarCtrl();
m_toolBarCtrl.SetPadding(50, 50);
}
CToolBarCtrl::SetPressedImageList
現在のツール バー コントロールが押された状態のボタンを表すために使用するイメージ リストを設定します。
CImagelist* SetPressedImageList(
int iImageID,
CImageList* pImageList);
パラメーター
iImageID
[in]イメージ リストの 0 から始まるインデックス。 イメージ リストを 1 つだけ使用する場合は、このパラメーターを 0 に設定します。
pImageList
[in]新しいイメージ リストを含む CImageList へのポインター。
戻り値
現在のコントロールの前のイメージ リストを含む CImageList へのポインター。または、そのようなイメージ リストが設定されていない場合は NULL 。
解説
このメソッドは、Windows SDK で説明されている TB_SETPRESSEDIMAGELIST メッセージを送信します。
例
次のコード例では、押されたイメージ リストを既定のイメージ リストと同じに設定します。
{
// SetPressedImageList
// Set the pressed image list to be the same as the
// normal image list.
CToolBarCtrl &m_toolBarCtrl = m_wndToolBar.GetToolBarCtrl();
CImageList *pNormalCil = m_toolBarCtrl.GetImageList();
CImageList *pPressedCil = m_toolBarCtrl.GetPressedImageList();
m_toolBarCtrl.SetPressedImageList(0, pNormalCil);
}
CToolBarCtrl::SetRows
ツールバー コントロールに、要求された行数に合わせてサイズを変更するように求めます。
void SetRows(
int nRows,
BOOL bLarger,
LPRECT lpRect);
パラメーター
nRows
要求された行数。
bLarger
ツール バーのサイズを要求された行数に変更できない場合に、使用する行数を増やすか、少ない行を使用するかを指定します。
lpRect
ツール バーの新しい外接する四角形を受け取る CRect オブジェクトまたは RECT 構造体をポイントします。
解説
ツールバー自体のサイズを要求された数または行に変更できない場合は、 bLargerの値に応じて、それ自体のサイズが次に大きいか、次に小さい有効なサイズに変更されます。 bLargerがTRUE場合、新しい行数は要求された数より大きくなります。 bLargerがFALSE場合、新しい行数は要求された数よりも小さくなります。
すべての行が同じ数のボタン (おそらく最後の行を除く) を持つようなボタンを配置できる場合、指定された数の行がツール バーに対して有効です。 たとえば、最後の 2 つの行を短くする必要があるため、4 つのボタンを含むツール バーのサイズを 3 行にすることはできませんでした。 サイズを 3 行にしようとすると、 bLarger が TRUE された場合は 4 行、 bLarger が FALSEされた場合は 2 行が取得されます。
ツールバーに区切り記号がある場合、指定された数の行が有効な場合のルールはより複雑になります。 レイアウトは、グループが 1 つの行に収まらない場合を除き、ボタン グループ (グループの最初のボタンと最後のボタンの前に区切り記号が付いたボタン) が複数の行で分割されないように計算されます。
グループが 1 つの行に収まらない場合、大きなグループが終了した行に収まる場合でも、次のグループは次の行で開始されます。 このルールの目的は、大きなグループ間の分離をより顕著にすることです。 結果の垂直方向の区切り記号は行としてカウントされます。
また、 SetRows メンバー関数は常に、ツール バーのサイズが最も小さいレイアウトを選択します。 TBSTYLE_WRAPABLE スタイルを使用してツール バーを作成し、コントロールのサイズを変更すると、コントロールの幅を指定して上記の方法が適用されます。
この関数は、 TBSTYLE_WRAPABLE スタイルで作成されたツール バーに対してのみ呼び出すことができます。
CToolBarCtrl::SetState
ツール バー コントロールの指定したボタンの状態を設定します。
BOOL SetState(
int nID,
UINT nState);
パラメーター
nID
ボタンのコマンド ID。
nState
状態フラグ。 CToolBarCtrl::AddButtonsのボタンの状態に対して一覧表示される値の組み合わせにすることができます。
戻り値
成功した場合は 0 以外を返します。それ以外の場合は 0 を返します。
解説
この関数は、複数のボタンの状態を設定する場合に特に便利です。 状態を 1 つだけ設定するには、 EnableButton、 CheckButton、 HideButton、 Indeterminate、または PressButtonのいずれかのメンバー関数を使用します。
CToolBarCtrl::SetStyle
ツール バー コントロールのスタイルを設定します。
void SetStyle(DWORD dwStyle);
パラメーター
dwStyle
Windows SDK で説明されているように、ツール バー コントロール スタイルの組み合わせを含むDWORD。
CToolBarCtrl::SetToolTips
ツール ヒント コントロールをツール バー コントロールに関連付けます。
void SetToolTips(CToolTipCtrl* pTip);
パラメーター
pTip
CToolTipCtrl オブジェクトへのポインター。
CToolBarCtrl::SetWindowTheme
CToolBarCtrl オブジェクトの表示スタイルを設定します。
HRESULT SetWindowTheme(LPCWSTR pszSubAppName);
パラメーター
pszSubAppName
設定するツール バーのビジュアル スタイルを含む Unicode 文字列へのポインター。
戻り値
戻り値は使用されません。
解説
このメンバー関数は、Windows SDK で説明されているように、 TB_SETWINDOWTHEME メッセージの機能をエミュレートします。