Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > TToolButton


Автор: artsb 7.3.2010, 13:27
Всем привет!

Мне нужно, чтобы кнопка на ToolBar'е вела себя как кнопка со стилем tbsCheck, но в тоже время имела стрелочку как у стиля tbsDropDown.
Как этого можно добиться? 

Автор: borisbn 8.3.2010, 07:18
Под рукой нет исходников builder'а, но когда у меня возникали подобные проблемы, я находил в них, как они делают подобные вещи, и делал это из кода. В твоём случае это будет выглядеть примерно так
Код

::SendMessage( toolButton->Handle, WM_SETCHECKABLE, TRUE, 0 );
::SendMessage( toolButton->Handle, WM_SETDROPDOWNABLE, TRUE, 0 );

сообщения WM_SETCHECKABLE, WM_SETDROPDOWNABLE я придумал, а тебе нужно будет найти их в исходниках TToolButton

Автор: borisbn 8.3.2010, 09:35
artsb, sorry, обманул. TToolButton не наследуется от TWinControl, поэтому у него нет Handle.
Но у TToolBar'а он есть.
Попробуй послатит сообщение http://msdn.microsoft.com/en-us/library/bb787413(VS.85).aspx,
заполнив http://msdn.microsoft.com/en-us/library/bb760439(VS.85).aspx в http://msdn.microsoft.com/en-us/library/bb760478(VS.85).aspx

 

Автор: artsb 8.3.2010, 19:13
borisbn, спасибо за наводку. Попробовал, но результатов это не принесло. Ни в какую не хочет ставить два стиля сразу.
Ладно, сделаю по-другому.
Но тему я не закрываю, вдруг кого-нибудь осенит  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)