CToolBarのSetBitmap関数の使い方について質問があります。
ツールバーの各項目ごとにイメージを設定しているのですが、
エラーになってしまいます。
使い方がまちがっているのでしょうか?
教えてください。
CToolBar m_wndToolBar;
m_wndToolBar.SetBitmap(IDB_BITMAP1);// ビットマップイメージ
m_wndToolBar.SetButtonText(0, フォルダ);
m_wndToolBar.SetBitmap(IDB_BITMAP2);
m_wndToolBar.SetButtonText(1, 検索);
m_wndToolBar.SetBitmap(IDB_BITMAP3);
m_wndToolBar.SetButtonText(3, コピ-);
全然間違ってます。全部説明するのは大変なので、
MSDNサンプルのmfcieが参考になると思います。
先ほどのソースにこの行を追加したのですが、
最初の項目Noのみ画像が表示されます。
このようなやり方では駄目なのでしょうか?
CBitmap* bmp1 = new CBitmap();
bmp1->LoadBitmap(IDB_BITMAP3);
HBITMAP hBmp = (HBITMAP)bmp1->m_hObject;
m_wndToolBar.SetBitmap(hBmp);
m_wndToolBar.Invalidate();
m_wndToolBar.SetButtonText(0, フォルダ);
CBitmap* bmp2 = new CBitmap();
bmp2->LoadBitmap(IDB_BITMAP2);
HBITMAP hBmp2 = (HBITMAP)bmp2->m_hObject;
m_wndToolBar.SetBitmap(hBmp2);
m_wndToolBar.Invalidate();
m_wndToolBar.SetButtonText(1, 検索);
何はともあれ、開発環境を明示してください。
それから、一体何がしたいのでしょうか。
なんだか基本的なところが勘違いされているような気がします。
既に指摘されていることですが、もう一度きちんとMSDN・サンプルソースを
見て確認してください。
(VC++6, MFCだとして)
CToolBar::LoadBitmap()
CToolBar::SetBitmap()
にて複数のボタンの絵を1つのビットマップでまとめて指定します。(仕様)
そして、各ボタン個別に、上記で指定したビットマップの内、どの絵柄を
割り当てるかを、CToolBar::SetButtonInfo()にて設定します。
ツールバーボタン個別にビットマップを割り当てるには、CImageListを利用します。
CImageListでイメージリストを作成し、
CToolBar::GetToolBarCtrl()でCToolBarCtrlへの参照を取得し、
CToolBarCtrl::SetImageList() でイメージリストを設定します。
上記キーワード近辺についてMSDNをじっくりと読み調べてください。