CToolBarのボタンの大きさを変える方法

[戻る]
ひろ 2007/02/27(火) 13:23:23
環境は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のビジュアルスタイル(ボタンの角が丸くなっている効果)も
無効になってしまうので、違う方法を探しております。

ドロップボタンにしても大きくならない方法をご存知の方がいらっしゃいましたら、
ご教示ください。

よろしくお願いいたします。

A 2007/02/27(火) 19:13:09
スタイルに TBSTYLE_LIST を入れると良くなるかも

ひろ 2007/02/28(水) 10:57:36
[[解決]]
Aさん、ご回答ありがとうございます。

TBSTYLE_LIST を設定したところ、余計に横長になってしまいました。

ボタンのスタイルにTBSTYLE_AUTOSIZEを追加してみても、
高さは4ドットずつ大きいままでした。

ドロップボタンを付与しない方向で
UIを変更することにします。

ありがとうございました。

古いスレッドには追加発言できません。