1999/11/16 - ツールバーアイコン

ツールバーアイコンをフルカラーにする。さてどうしようと悩んでダイアログバーでオーナードローボタンでもつけるか,とか考えたが,めんどくさすぎてあきらめる。いろいろ調べていると新しいコモンコントロールで,ツールバーに直接イメージリストをセットできることが判明。CMainFrame::OnCreate に,

// ツールバーを作成
if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC))
{
TRACE0("Failed to create toolbarn");
return -1;      // 作成に失敗
}

// イメージリストの作成
CBitmap bitmap;
bitmap.LoadBitmap(IDB_TOOLBAR);

m_pImageToolBar->Create(32, 32, ILC_COLOR24 | ILC_MASK, TOOLBAR_MAX, 1);
m_pImageToolBar->Add(&bitmap, RGB(255, 255, 255));

m_wndToolBar.SetSizes(CSize(39, 39), CSize(32, 32));
m_wndToolBar.GetToolBarCtrl().SetImageList(m_pImageToolBar);

// ボタンの追加
UINT command[] =
{
ID_FILE_NEW,
...
};

m_wndToolBar.SetButtons(command, TOOLBAR_MAX);

てな感じで ok。透明色とかももちろんやってくれるので簡単。ちなみにこの際,最初イメージリストをスタックに作ってて反映されなかった。これはメンバに持つことで解決。

コメントする