Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.036 c
14-1132841832
oldman
2005-11-24 17:17
2005.12.18
Локомотив победил!!! (анализы футболов прошу не постить!)


4-1129281662
Vir
2005-10-14 13:21
2005.12.18
Nt Sevice + GUI


1-1132809968
john_mag
2005-11-24 08:26
2005.12.18
OleContainer


14-1132562930
Igorek
2005-11-21 11:48
2005.12.18
Фильмы на тему ИИ


3-1130793385
Erick
2005-11-01 00:16
2005.12.18
Как в Delphi работать с MS Access?




   Наверх