Вниз
Скачать: CL | DM;

Иконка+текст на кнопке тулбара   Найти похожие ветки 

 
bigear   (2005-09-17 20:54) [0]

Проблема в том, что текст сдвигается вправо по странному закону.

Делаю так:
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 21:07) [1]

Апчхи, простите.


 
bigear   (2005-09-22 22:09) [2]

Решение таки нашлось:
1. Установить стиль кнопок BTNS_AUTOSIZE (TBSTYLE_AUTOSIZE)
2. Задать ширину кнопок равной 0 (иначе заданнуя ширина прибавиться к полученной автоматически)


 
bigear   (2005-09-22 22:13) [3]

Решение таки нашлось:
1. Установить стиль кнопок BTNS_AUTOSIZE (TBSTYLE_AUTOSIZE)
2. Задать ширину кнопок равной 0 (иначе заданная ширина прибавиться к полученной автоматически)



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.025 c
2-1130670653
тт
2005-10-30 14:10
2005.11.20
Как узнать размер объекта в сантиметрах?


2-1130420069
Win32
2005-10-27 17:34
2005.11.20
ComboBox


9-1120158033
4ECHOK
2005-06-30 23:00
2005.11.20
Где найти SMD-модели.


14-1130613413
Prohodil Mimo
2005-10-29 23:16
2005.11.20
Снова о Delphi 2005


3-1128930084
alol
2005-10-10 11:41
2005.11.20
ado и as400




   Наверх