Страницы: 1
RSS
Надпись на кнопке в две строки, у каждой строки - свое форматирование
 
Уважаемые знатоки, доброго времени!
На форме есть кнопка. Хочу надпись на ней сделать в две строки, у каждой - свое форматировани, например в первой строке "Записать", а во второй строке "и перейти к следующему".
Подскажите, пожалуйста, как это сделать. В окне Properties так не сделать, значит нужно кодом прописать.
 
Цитата
Константин написал: нужно кодом прописать
необязательно
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Александр, спасибо! Интересное решение!))
 
Александр, есть у этого способа заметный недостаток. Когда нажимаешь обычную кнопку, то она визуально показывает это нажатие. В данном случае же надписи находятся над кнопкой и клик приходится на них, при этом кнопка не показывает нажатие. Получается не ясно - нажал или не нажал, пользователь будет нажимать несколько раз, пытаясь понять прошла обработка или нет. Мне кажется, что корректнее в коде со свойством Caption поработать, только вот как - не соображу.
Код
' полагаю, что можно это сделать при инициализации формы, указав, например, так:
Dim lb1, lb2 As String
lb1 = "Записать"
lb2 = "и перейти к следующему"
ComandButton1.Caption = lb1 & Chr(10) & lb2
' а вот как указать формат (размер шрифта, жирный илиобычный, цвет фрифта, выравнивание по центру и прочее)
' отображения этих переменных на кнопке не соображу
Товарищи специалисты, подскажите плиз.
 
и еще. А перенос это Chr(10) или Chr(13)?
 
Я использую 10. Но учтите, что в разных строках Вы не сможете применить разное форматирование: оно будет елиными для всей кнопки.
И не пойму, зачем это делать программно? На этапе создания кнопки пишем (на самой кнопке) первую строку текста, затем Shift+Enter и вторую строку.
 
Самое оптимальное - использовать для кнопок автофигуры. Там и форматирование, и переносы, и отсутствие проблем с элементами ActiveX(которые не рекомендуются к использованию в принципе).
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Юрий, понял, спасибо, так и сделаю
 
Дим, кнопка на форме.
 
Цитата
Константин написал: со свойством Caption поработать, только вот как - не соображу
никак.
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Цитата
Юрий М написал: кнопка на форме
Упс....
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Цитата
Константин написал: Александр, есть у этого способа заметный недостаток <...> надписи находятся над кнопкой и клик приходится на них, при этом кнопка не показывает нажатие.
На клик можно менять форматирование кнопки/надписи, на событие MouseUp возвращать исходное.
 
Для выделения кнопки - SetFocus.
И проверку на сработывание кода, чтобы после нажатия на надпись код не пробежался второй раз.
 
Спасибо!
 
Цитата
Константин написал:
Александр, есть у этого способа заметный недостаток. Когда нажимаешь обычную кнопку, то она визуально показывает это
В дополнение к варианту ikki. Поместите надписи ЗА кнопку, а у кнопки установите свойство BackStyle из 1 в 0
Изменено: Михаил Лебедев - 22.03.2015 14:07:54
 
Михаил, отличный вариант!
Кстати, тогда из кода можно убрать процедуры обработки кликов по надписям.
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Да, спасибо!
Страницы: 1
Наверх