![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Иконка+текст на кнопке тулбара [Win2k, WinXP]
bigear © (2005-09-17 20:54:00)Проблема в том, что текст сдвигается вправо по странному закону.
Делаю так:
hWndToolbar = CreateToolbarEx(
hDlg,
TBSTYLE_FLAT | WS_CHILD | WS_VISIBLE | TBSTYLE_LIST,
ID_TOOLBAR,
16, hInst, IDB_BITMAP3,
(LPCTBBUTTON)&tbButtons, NUMBUTTONS, 72,16,16,16,
sizeof(TBBUTTON)
);
В результате, вместо того чтобы нарисовать одну иконку (16х16) и сразу за ней текст, рисуется + , независимо от ширины кнопок и указанных размеров иконок...
Тот же эффект наблюдается в случае отсутствия иконок, т.е. hInst=IDB_BITMAP3=0 (вместо них пропуск).
Однако, если загрузить иконки из ресурсов comctl32.dll, то всё работает как нужно:
hWndToolbar = CreateToolbarEx(
hDlg,
TBSTYLE_FLAT | WS_CHILD | WS_VISIBLE | TBSTYLE_LIST,
ID_TOOLBAR,
16, (HINSTANCE)HINST_COMMCTRL, IDB_STD_SMALL_COLOR,
(LPCTBBUTTON)&tbButtons, NUMBUTTONS, 72,16,16,16,
sizeof(TBBUTTON)
);
Для проверки вытащил эти иконки из comctl32.dll, добавил как ресурс - тот же "глюк".
bigear (2005-09-22 22:13:00) [1]Решение таки нашлось:
1. Установить стиль кнопок BTNS_AUTOSIZE (TBSTYLE_AUTOSIZE)
2. Задать ширину кнопок равной 0 (иначе заданная ширина прибавиться к полученной автоматически)
bigear (2005-09-22 22:09:00) [2]Решение таки нашлось:
1. Установить стиль кнопок BTNS_AUTOSIZE (TBSTYLE_AUTOSIZE)
2. Задать ширину кнопок равной 0 (иначе заданнуя ширина прибавиться к полученной автоматически)
bigear (2005-09-22 21:07:00) [3]Апчхи, простите.