Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.11.20;
Скачать: 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 вся ветка

Текущий архив: 2005.11.20;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.026 c
9-1120203177
Зм1й
2005-07-01 11:32
2005.11.20
Сглаживание


1-1130340430
vers
2005-10-26 19:27
2005.11.20
TPopupMenu с 32-битными картинками


3-1128951219
Германн
2005-10-10 17:33
2005.11.20
Лечение базы Interbase


4-1126897036
Dot
2005-09-16 22:57
2005.11.20
слушать порт WinSocks


2-1130968376
Duralei
2005-11-03 00:52
2005.11.20
прозрачное текстовое поле