TaskBar

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

TaskBar

Сообщение grigoreo » 09.06.2009 09:29:19

Кто знает подскажите, что в Линуксе что в Виндовсе есть понятие панели задач, (может не так выражусь под Гномом их 2 сверху снизу),
есть обьект Screen у него 2 свойства Width и height они возращают размеры экрана,

вопрос а как определить размеры экрана без пространства занимаемое панелями, т.е размеры самой рабочей части экрана, было бы некрасиво если бы форма уходила за края экрана
Аватара пользователя
grigoreo
постоялец
 
Сообщения: 195
Зарегистрирован: 10.03.2009 15:43:43
Откуда: С нашей Раши

Re: TaskBar

Сообщение VirtUX » 09.06.2009 11:26:29

Form1.WindowState := wsMaximized; - может быть как вариант решения проблемы.

Добавлено спустя 59 минут 59 секунд:
Вот пример, который показывает высоту Десктопа и максимальную высоту окна (можно использовать при старте программы. Окно появляется на доли секунды)
Код: Выделить всё
procedure ShowH;
var ff: TForm;
    ii: integer;
begin
  ff := TForm.Create(Application);
  ff.WindowState:= wsMaximized;
  ff.Show;
  ff.Hide;
  ii := ff.Height;
  FreeAndNil(ff);
  ShowMessage('Desktop = ' + IntToStr(Screen.DesktopHeight) + '; MaxWindowHeight = ' + IntToStr(ii));
end;

У меня (KDE) получилось соответственно Desktop = 800; MaxWindowHeight = 737
Аватара пользователя
VirtUX
энтузиаст
 
Сообщения: 880
Зарегистрирован: 05.02.2008 10:52:19
Откуда: Крым, Алушта

Re: TaskBar

Сообщение grigoreo » 09.06.2009 13:22:46

VirtUX писал(а):Form1.WindowState := wsMaximized; - может быть как вариант решения проблемы.[/b]


Как вариант подходит ))
Аватара пользователя
grigoreo
постоялец
 
Сообщения: 195
Зарегистрирован: 10.03.2009 15:43:43
Откуда: С нашей Раши

Re: TaskBar

Сообщение Павел Ишенин » 10.06.2009 07:29:32

В Lazarus 0.9.27 есть у формы свойство Monitor. Также у Screen есть Monitors. У этого класса есть 2 свойств BoundsRect и WorkareaRect. Вам нужно второе свойство.

И, наконец, чтобы форма не вылазила за монитор вы можете вызвать Form1.MakeFullyVisible(Form1.Monitor, True);
Павел Ишенин
постоялец
 
Сообщения: 475
Зарегистрирован: 24.03.2007 10:16:52


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 45

Рейтинг@Mail.ru