powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Lazarus: некорректная отрисовка кнопок под Linux
6 сообщений из 6, страница 1 из 1
Lazarus: некорректная отрисовка кнопок под Linux
    #39563184
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Столкнулся с очень интересной штукой.

Задаю размеры кнопки в runtime.
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
procedure TForm1.FormCreate(Sender: TObject);
begin
  Button1.Height:= Edit1.Height;
  Button1.Width:= Edit1.Height;

  Button2.Height:= Edit2.Height;
  Button2.Width:= Edit2.Height;

  Button3.Height:= Edit3.Height;
  Button3.Width:= Edit3.Height;

  Button4.Height:= Edit4.Height;
  Button4.Width:= Edit4.Height;
end;

procedure TForm1.FormShow(Sender: TObject);
begin
  // без этого под Linux совсем не перерисовываются кнопки
  {$IFDEF UNIX}
  Button1.Repaint;
  Button2.Repaint;
  Button3.Repaint;
  Button4.Repaint;
  {$ENDIF}
end;


Под виндой рисуется корректно

Если сорцы импортировать под Линь, и запустить проект, не открывая FormEditor, то все размеры кнопок рисуются некорректно. Если же все-таки открыть lfm-файл в редакторе форм (причем не все, а только часть вкладок с расположенными на них кнопками), то "правильно" отрисовываться будут только те кнопки, которые были просмотрены в FormEditor


Это бага?
=================
Док.

Win7 Ultim x64/Deb 9.1(GNOME, MATE; gtk2) i386:
FB 3.0.2.32703, диалект 3, SS,
Lazarus 1.9(r.56443); FPC 3.1.1 (r.37610), IBX by -Rik-; IBE 2017.4.19.2
...
Рейтинг: 0 / 0
Lazarus: некорректная отрисовка кнопок под Linux
    #39563192
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Док,

Проверил. У меня всё нормально. Ubuntu 16.04.3 LTS Unity. Но если у тебя проблема, то что тебе мешает делать привязку ко границам (верхней и нижней) едитов в рантайме?
...
Рейтинг: 0 / 0
Lazarus: некорректная отрисовка кнопок под Linux
    #39563194
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev AlexeyПроверил. У меня всё нормально.
В окружении GNOME3 воспроизводится.
...
Рейтинг: 0 / 0
Lazarus: некорректная отрисовка кнопок под Linux
    #39563257
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey,

похоже тикет писать надо?
...
Рейтинг: 0 / 0
Lazarus: некорректная отрисовка кнопок под Linux
    #39563259
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexeyчто тебе мешает делать привязку ко границам (верхней и нижней) едитов в рантайме?
так можно только высоту кнопки отрегулировать. Ширина все равно будет рисоваться, как редактор решит.

Я запостил проблему тут , может, кто из разрабов откликнется
...
Рейтинг: 0 / 0
Lazarus: некорректная отрисовка кнопок под Linux
    #39563263
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Докпохоже тикет писать надо?
Нет, это не ошибка. Просто с AutoSize всё не совсем просто. В общем, решить проблему можно так:
Код: pascal
1.
2.
3.
4.
 Edit4.HandleNeeded;
 Edit4.GetPreferedSize(pw, ph);
 Button4.Width := ph;
 Button4.Height := ph;
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Lazarus: некорректная отрисовка кнопок под Linux
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]