![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
![]() Создовая программу, я столкнулся со следующим "препятствием":
У мну в программу создаются динамически кнопки. Проблема в том, что когда я устанавливаю заголовок для кнопки, то её ширина остаётся стандартной, а текст бывает длинее этой ширины и получается некрасиво (текст вылазиет из ширины кнопки). Как можно сделать, чтобы ширина была норм. Вот например: в HTML можно прописать в атрибуте "style" padding-left: 10px; padding-right: 10px; и будет всё класс. Получается слева и справа отступ от текста 10 пикселей. Как можно сделать в delphi так? |
#2
|
||||
|
||||
![]() Смотри в сторону TCanvas.TextWidth
Некоторые программисты настолько ленивы, что сразу пишут рабочий код. Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты. |
#3
|
|||
|
|||
![]() У мну ошибка!!
![]() Программа запускается, но выдаётся ошибка. Вот код: Код:
procedure Pages(Actions,NmPage: String); var IndexPage: Integer; TW: TCanvas; begin with MainForm do begin if Actions='Next' then begin SetLength(Btns,Length(Btns)+1); IndexPage:=Length(Btns)-1; Btns[IndexPage]:=TBitBtn.Create(MenuBtns); with Btns[IndexPage] do begin Parent:=MenuBtns; Caption:=NmPage; TW:=TCanvas.Create; Width:=TW.TextWidth(NmPage); Visible:=true; TW.Free; end; end; MenuBtns.Repaint; end; end; Последний раз редактировалось NightSoldier, 04.06.2009 в 15:39. |
#4
|
|||
|
|||
![]() Код:
var TextSize: TSize; begin GetTextExtentPoint32(GetDC(Button1.Handle), @Button1.Caption[1], Length(Button1.Caption), TextSize); Button1.Width := TextSize.cx + 20; // длина кнопки = длине текста + 20px end; |
#5
|
|||
|
|||
![]() Спс!
Тему можно закрывать |