TB_SETPRESSEDIMAGELIST メッセージ

ツール バーが押された状態のボタンを表示するために使用する画像の一覧を設定します。

パラメーター

wParam

イメージ リストのインデックス。 イメージ リストを 1 つだけ使用する場合は、このパラメーターを 0 に設定します。 複数の画像リストの使用の詳細については、「解説」を参照してください。

lParam

設定するイメージ リストを処理します。 このパラメーターが NULL の場合、ボタンにはイメージは表示されません。

戻り値

押された状態のボタンを表示するために以前に使用したイメージ リストのハンドルを返します。そのような画像リストが以前に設定されていない場合は NULL を 返します。

解説

Note

アプリケーションは、ツール バーが破棄された後にイメージ リストを解放する役割を担います。

TB_SETPRESSEDIMAGELIST メッセージをTB_ADDBITMAPと組み合わせることはできません。 また、内部的にTB_ADDBITMAP呼び出す CreateToolbarEx で作成されたツール バーでは使用できません。 CreateToolbarEx を使用してツール バーを作成するか、TB_ADDBITMAPを使用してイメージを追加すると、ツール バーはイメージ リストを内部的に管理します。 TB_SETPRESSEDIMAGELISTで変更しようとすると、予測できない結果になります。

ボタンイメージは、同じ画像リストから取得する必要はありません。 ツール バー ボタンの画像に複数の画像リストを使用するには:

  1. wParam (バージョン番号) が 5 に設定されたCCM_SETVERSION メッセージをツールバー コントロールに送信して、複数のイメージ リストを有効にします。
  2. 使用する画像リストごとに、ツールバー コントロールに TB_SETPRESSEDIMAGELIST メッセージを送信します。 リストの識別に使用するアプリケーション定義の wParam 値に wParam を設定します。 リストの HIMAGELIST ハンドルに lParam を設定します。
  3. 各ボタンについて、ボタンの TBBUTTON 構造体の iBitmap メンバーを MAKELONG(iIndex, iImageID) に設定します。 iImageID 値は、手順 2 で定義された適切なイメージ リストの ID です。 iIndex 値は、そのリスト内の特定のイメージのインデックスです。
  4. ツール バー コントロールにTB_ADDBUTTONS メッセージを送信して、ボタン 追加します。

次のコード フラグメントは、3 つの異なる画像リストの画像を含む 5 つのボタンをツール バーに追加する方法を示しています。 CCM_SETVERSION メッセージでは、複数のイメージ リストのサポートが有効になります。 その後、イメージ リストが設定され、0 から 2 の ID が割り当てられます。 ボタンには、次のようにイメージ リストからイメージが割り当てられます。

  • ボタン 0 は、インデックスが 1 の画像リスト 0 (ahim[0]) の値です。
  • ボタン 1 は、インデックスが 1 の画像リスト 1 (ahim[1]) から取得したものです。
  • ボタン 2 は、インデックスが 1 の画像リスト 2 (ahim[2]) から取得したものです。
  • ボタン 3 は、インデックスが 2 の画像リスト 0 (ahim[0]) の値です。
  • ボタン 4 は、インデックスが 3 の画像リスト 1 (ahim[1]) から取得したものです。

最後に、ボタンがツール バー コントロールに追加され、 TB_ADDBUTTONS メッセージが表示されます。

// Enable multiple image lists
    SendMessage(hwndTB, CCM_SETVERSION, (WPARAM) 5, 0); 

    //Set the image lists and assign them IDs of 0-2
    SendMessage(hwndTB, TB_SETPRESSEDIMAGELIST, 0, (LPARAM)ahiml[0]);
    SendMessage(hwndTB, TB_SETPRESSEDIMAGELIST, 1, (LPARAM)ahiml[1]);
    SendMessage(hwndTB, TB_SETPRESSEDIMAGELIST, 2, (LPARAM)ahiml[2]);

    // Create the five buttons
    TBBUTTON rgtb[5];
    
    //... initialize the TBBUTTON structures as usual ...
    
    //Assign images to each button
    rgtb[0].iBitmap = MAKELONG(1, 0);
    rgtb[1].iBitmap = MAKELONG(1, 1);
    rgtb[2].iBitmap = MAKELONG(1, 2);
    rgtb[3].iBitmap = MAKELONG(2, 0);
    rgtb[4].iBitmap = MAKELONG(3, 1);

    // Add the five buttons to the toolbar control
    SendMessage(hwndTB, TB_ADDBUTTONS, 5, (LPARAM)(&rgtb);

要件

要件
サポートされている最小のクライアント
Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー
Windows Server 2008 [デスクトップ アプリのみ]
Header
Commctrl.h

関連項目

参照

TB_GETPRESSEDIMAGELIST

その他のリソース

MAKELONG