Делаем многострочный Caption у Button

Не раз сталкивался с такой проблемой когда необходимо что бы caption у button был многострочным т.е если подпись не влезает в размеры кнопки она располагалась не в одну строку а в несколько.

Как это сделать мы и разберем в данном уроке.

Ну что погнали, открываем delphi создаем новый проект, сейчас нужно сразу оговориться что делать многострочными мы будем все кнопки, которые находиться на панели. И сразу же кидаем на форму компонент Panel с закладки Standart, на неё ставим 2 компонента button так же с закладки Standart. Далее выберите Первую кнопку и в свойстве Caption напишите побольше текста, тоже самое проделываем и со второй кнопкой.

А вот теперь и начинается самое интересное.

Переходим в код и после ключевого слова private пишем


procedure SetMultiLineButton(AParent: TWinControl) ;   

Нажимаем комбинацию клавиш CTRL+ SHIFT + C если кто не понял, мы только что создали процедуру, но сейчас она пустая, поэтому Посмотрите что получилось у меня и добавьте к себе не достающие строки.


procedure TForm1.SetMultiLineButton(AParent: TWinControl);  
var j : integer;  
ah : THandle;  
begin  
for j := 0 to AParent.ControlCount - 1 do  
if (AParent.Controls[j] is TButton) then  
begin  
ah := (AParent.Controls[j] as TButton).Handle;  
SetWindowLong(ah, GWL_STYLE,  
GetWindowLong(ah, GWL_STYLE) OR  
BS_MULTILINE) ;  
end;  
end;  

Вот практически и все осталось создать обработчик событий OnCreate на форме и в нем прописать


SetMultiLineButton (Panel1); 

Вот теперь все, запускаем проект, вуаляяяя.... текст на кнопках располагается в несколько строк.
Теги:
принтер
Добавлено: 01 Августа 2018 07:23:07 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...