1

アプリケーションからツールバーを作成しました。ボタンは 4 つだけで、各ボタンのサイズは 80 x 64 ピクセルです。ビットマップ全体は 320 x 64 です。

const int numButtons     = 4;
const SIZE bitmapSize={80,64};
HIMAGELIST hImageList = ImageList_Create(bitmapSize.cx, bitmapSize.cy, ILC_COLOR16 | ILC_MASK,numButtons, 0);


HBITMAP hBitmap = LoadBitmap(hInst, MAKEINTRESOURCE(IDB_HOME));
int iImageList = ImageList_AddMasked(hImageList, hBitmap, 0);
SendMessage(hWndToolbar, TB_SETIMAGELIST, 0, (LPARAM)hImageList);

TBBUTTON tbButtons[numButtons] = 
{
    { 0, WM_BBBB1, TBSTATE_ENABLED, TBSTYLE_BUTTON, {0}, 0, 0},
    { 1, WM_BBBB2, TBSTATE_ENABLED, TBSTYLE_BUTTON, {0}, 0, 0},
    { 2, WM_BBBB3, TBSTATE_ENABLED, TBSTYLE_BUTTON, {0}, 0, 0},
    { 3, WM_BBBB4, TBSTATE_ENABLED, TBSTYLE_BUTTON, {0}, 0, 0}
};

// Add buttons.
SendMessage(hWndToolbar, TB_BUTTONSTRUCTSIZE, (WPARAM)sizeof(TBBUTTON), 0);
SendMessage(hWndToolbar, TB_ADDBUTTONS,(WPARAM)numButtons,(LPARAM)&tbButtons);
SendMessage(hWndToolbar, TB_AUTOSIZE, 0, 0); 

RECT _tbRect;
SendMessage(hWndToolbar, TB_GETITEMRECT, 0, (LPARAM)&_tbRect);//0,0,87,70

ビットマップに独自の境界サイズがあり、コントロールにツールバーの境界四角形を追加したくない場合、ボタンの幅は 87、高さは 70 と表示されます。どうすればよいですか?

前もって感謝します!

4

1 に答える 1

0

電話してみる

SendMessage(hWndToolbar, TB_SETBUTTONSIZE, 0, (LPARAM)MAKELONG(80,64)); // or some wanted values

TB_ADDBUTTONS

于 2012-07-24T19:46:42.917 に答える