Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.12.18;
Скачать: CL | DM;

Вниз

Форму в нижний правый угол   Найти похожие ветки 

 
Developerr ©   (2005-12-04 20:56) [0]

Доброгое время суток!
Ув. мастера, подскажите, пожалуйста,

как сделать чтобы форма открывалась всегда в нижнем правом углу десктопа независимо от размеров формы и разрешения экрана?

Спасибо.


 
Palladin ©   (2005-12-04 21:17) [1]

Есть глобальная переменная Screen:TScreen (надеюсь в D7 она осталась)
Назначаешь форме
Top:=Screen.Height-Selft.Height-3;
Left:=Screen.Width-Selft.Width-3;


 
Virgo_Style ©   (2005-12-04 21:20) [2]

Top  := Screen.Height - Height;
Left := Screen.Width  - Width;


 
begin...end ©   (2005-12-04 21:23) [3]

procedure TForm1.FormCreate(Sender: TObject);
begin
 with (Sender as TControl) do
 begin
   Top := Screen.WorkAreaHeight - Height;
   Left := Screen.WorkAreaWidth - Width;
 end
end


 
begin...end ©   (2005-12-04 21:25) [4]

Ой, сорри... [3] следует читать так:

procedure TForm1.FormCreate(Sender: TObject);
begin
  Top := Screen.WorkAreaHeight - Height;
  Left := Screen.WorkAreaWidth - Width;
end

Совсем крыша поехала...


 
Developerr ©   (2005-12-04 21:26) [5]

Спасибо всем огромное


 
Developerr ©   (2005-12-04 21:29) [6]

begin...end ©

Твой вариант самый рульный. И [3] и [4] работает.
Спасибо.


 
Saimon   (2005-12-05 11:28) [7]


> begin...end ©   (04.12.05 21:25) [4]


Вариант отличный, пользуюсь давно им.
Но порекомендовал-бы этот код пихать в OnActive той формы, которую надо по правому-нижнему краю ровнять.

В чем фишка??
А если ты форму используешь несколько раз??? Т.е. это не главная форма?
Тогда OnCreate сработает только один раз! А OnActive будет работать всегда.


 
Anatoly Podgoretsky ©   (2005-12-05 11:54) [8]

Saimon   (05.12.05 11:28) [7]
Ни в коем случае, зачем нужна форма, которая будет прыгать обратно после перемещения и срабатывания OnActivATe.
Использование формы измеряется не в разах, а в интервале.


 
Fay ©   (2005-12-05 12:23) [9]

2 begin...end ©   (04.12.05 21:25) [4]
> Совсем крыша поехала...
А что не так?


 
begin...end ©   (2005-12-05 12:29) [10]

> Fay ©   (05.12.05 12:23) [9]

Не так вот что: незачем усложнять код и использовать Sender, когда в методе того же объекта находимся.


 
Saimon   (2005-12-05 15:21) [11]


> Anatoly Podgoretsky ©   (05.12.05 11:54) [8]


Вы меня не совсем правильно поняли.
Это чтобы при открытии формы (т.е. типа "Visible:= true" когда ставится, проще говоря когда она появляется на экране) она ставала в правый-нижний угол. А когда форма теряет фокус, а потом снова его получает (без закрытия) OnActive не срабатывает, поэтому это будет действовать только при открытии. Лично у меня в дельфи 6 и 7 OnActive работает так... Или такого быть не должно??

Например, я часто использую в OnActive код центрирования формы относительно  родительской, для форм "Options" и "About...". Может быть я в чем-то не прав, но это мое мнение...


 
Fay ©   (2005-12-05 15:40) [12]

2 begin...end ©   (05.12.05 12:29) [10]
А если есть желание использовать для других объектов? 8)



Страницы: 1 вся ветка

Текущий архив: 2005.12.18;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.054 c
2-1133740879
HF-Trade
2005-12-05 03:01
2005.12.18
Прервать работу основной процедуры - из вызванной процедуры...


14-1132335263
lookin
2005-11-18 20:34
2005.12.18
У меня тоже пару вопросов...


1-1132842444
френк
2005-11-24 17:27
2005.12.18
Мерцание компонента


5-1116590495
tosha
2005-05-20 16:01
2005.12.18
Куда пропадают контролы : (


1-1132560985
GenieTM
2005-11-21 11:16
2005.12.18
Как получить текст из TDateTimePicker ( но не через DateTime!!)