環境はWinXP+VS.NET2003+MFCです。
プロジェクトの新規作成では、
SDIでツールバーを標準ドッキングのブラウザスタイルにして作成しました。
そのツールバーに下記のようにドロップボタンの拡張スタイルを設定しました。
m_wndToolBar.GetToolBarCtrl().SetExtendedStyle(TBSTYLE_EX_DRAWDDARROWS);
その後、ボタンを追加し、そのボタンのスタイルにもドロップボタンを設定しました。
TBBUTTON tb;
memset(&tb, 0, sizeof(tb));
tb.fsStyle = TBSTYLE_BUTTON | TBSTYLE_DROPDOWN;
tb.fsState = TBSTATE_ENABLED;
tb.idCommand = ID_32772;
tb.iBitmap = 0;
if (!m_wndToolBar.GetToolBarCtrl().InsertButton(m_wndToolBar.GetToolBarCtrl
().GetButtonCount(), &tb))
return FALSE;
XPのビジュアルスタイルにするために、実行ファイル.manifestを追加すると、
ボタンが一回り(上下左右にそれぞれ4ドットずつ位)大きくなってしまいます。
ドロップボタンにしないと大きくなりません。
ドロップボタンが1つでもあるとそのツールバーのすべてのボタンが大きくなってしまい
ます。
ツールバーを複数作っても、そのドロップボタンをつけたバーだけが大きくなってしま
います。
SetWindowTheme(m_wndToolBar.m_hWnd, _T("), _T("));
としてしまうと、XPのビジュアルスタイル(ボタンの角が丸くなっている効果)も
無効になってしまうので、違う方法を探しております。
ドロップボタンにしても大きくならない方法をご存知の方がいらっしゃいましたら、
ご教示ください。
よろしくお願いいたします。
スタイルに TBSTYLE_LIST を入れると良くなるかも
Aさん、ご回答ありがとうございます。
TBSTYLE_LIST を設定したところ、余計に横長になってしまいました。
ボタンのスタイルにTBSTYLE_AUTOSIZEを追加してみても、
高さは4ドットずつ大きいままでした。
ドロップボタンを付与しない方向で
UIを変更することにします。
ありがとうございました。