Иконка+текст на кнопке тулбара
От: bigear  
Дата: 17.09.05 17:31
Оценка:
Проблема в том, что текст сдвигается вправо по странному закону.

Делаю так:

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, добавил к проекту как ресурс — тот же "глюк".
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.