Как создать кнопку с многострочным текстом

Материал из GedeminWiki
(Различия между версиями)
Перейти к: навигация, поиск
Строка 27: Строка 27:
 
* [http://msdn.microsoft.com/en-us/library/windows/desktop/ms633584%28v=vs.85%29.aspx GetWindowLong]
 
* [http://msdn.microsoft.com/en-us/library/windows/desktop/ms633584%28v=vs.85%29.aspx GetWindowLong]
 
* [http://msdn.microsoft.com/en-us/library/windows/desktop/ms633591%28v=vs.85%29.aspx SetWindowLong]
 
* [http://msdn.microsoft.com/en-us/library/windows/desktop/ms633591%28v=vs.85%29.aspx SetWindowLong]
 +
* [http://delphi.about.com/cs/adptips2001/a/bltip0701_2.htm TButton with multiline Caption]
  
 
[[Category:Вопросы и ответы (для разработчика)]]
 
[[Category:Вопросы и ответы (для разработчика)]]
 
[[Category:WinAPI]]
 
[[Category:WinAPI]]
 
[[Category:Руководство разработчика]]
 
[[Category:Руководство разработчика]]

Версия 17:21, 10 февраля 2012

Для вывода заголовка кнопки в несколько строк необходимо изменить ее стиль. Ниже приведен код обработчика события OnSetupDialog, который меняет стиль кнопки с именем usrg_Button1 и присваивает ей заголовок из двух строк.

Option Explicit
Sub ...OnSetupDialog(ByVal Sender)
 
  '*** Данный код необходим для вызова встроенного обработчика ***
  '*** В случае его удаления возможно нарушение работы системы ***
    call   Inherited(Sender, "OnSetupDialog", Array(Sender))
  '*** конец кода поддержки встроенного обработчика            ***
 
  Const GWL_STYLE = -16
  Const BS_MULTILINE = 8192
 
  Dim btn
  Set btn = Sender.GetComponent("usrg_Button1")
 
  WinAPI.SetWindowLong btn.Handle, GWL_STYLE, _
    WinAPI.GetWindowLong(btn.Handle, GWL_STYLE) OR BS_MULTILINE
  btn.Caption = "Line1" & vbCrLf & "Line2"
 
End Sub

См. также

Персональные инструменты
Пространства имён

Варианты
Действия
Навигация
Инструменты