Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Системное программирование и WinAPI > BTNS_AUTOSIZE == false, но ширина кнопки меняется! |
Автор: GRONN 30.10.2010, 13:46 |
Господа, есть кнопка на загруженном из ресурсов тулбаре, у которой с помощью TB_SETBUTTONINFO убрана картинка, убран BTNS_AUTOSIZE, и добавлен BTNS_WHOLEDROPDWN и BTNS_SHOWTEXT (т.е. я хочу, чтобы она вела себя примерно как выпадающий комбо-бокс -- только текст и стрелочка). Мне надо динамически (эта кнопка раскрывает попап-меню, в котором пользователь выбирает строки) менять текст на кнопке. Проблема в том, что когда я с помощью TB_SETBUTTONINFO ставлю текст -- текст меняется, но и кнопка меняет свой размер. Мне это не надо, я же убирал BTNS_AUTOSIZE. Для интереса я перед сменой текста проверял стили по TB_GETBUTTONINFO -- там, действительно, НЕТ BTNS_AUTOSIZE. Есть ли идеи, почему меняется размер? Может, кто-то сталкивался? P.S. пробовал как с TBSTYLE_EX_MIXEDBUTTONS, так и без него (видел где-то в инете, что он может как-то интерферировать с автосайзом). С уважением, Алексей |
Автор: GremlinProg 31.10.2010, 06:32 |
если оставить размер кнопки постоянным - задача принципмальная, то возможно через NM_CUSTOMDRAW это было бы сделать проще, т.е. не ставить текст в кнопку, а рисовать его самому |
Автор: GRONN 5.11.2010, 13:44 |
Да, в итоге так и сделал. Спасибо. |