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

Вниз

Динамическое изменение геометрии и позиции формы.   Найти похожие ветки 

 
MsGuns ©   (2002-11-21 12:30) [0]

Добрый день мастакам ! Есть у меня Гл.форма с кучей альтернативно открывающихся панелей, на каждой из которых есть контролы опред.типа, из которых по встроенной в контрол кнопке вызывается модально другая форма.
Надо чтоб эта форма появлялась в определенном месте экрана (допустим, ТОЧНО ПОД вызывающем контролом, т.е. экранный Left контрола = экранному Left формы и т.д.).

Траблы две:

1. Не могу добиться толку (перечитал все хэлпы) от процедур ScreenToClient и ClientToSreen, возвращающих мне nil или какую-то офигень.

2. При изменении собственных Left, Top внутри вызываемой формы (OnShow) позиция этой формы на экране НЕ ИЗМЕНЯЕТСЯ ! При изменении позиции в Гл.форме непосредственно перед ShowModal в первый раз не срабатывает, только после повторного.

Где я дурак ? За помощь заранее благодарю


 
Слесарь Матерящийся   (2002-11-21 13:07) [1]

1: Так не бывает. Конкретнее???
2: Form1(2,3,4...).Position := Default (в редакторе свойств формы). Либо SetWindowPos() WinAPI.


 
Переяслов Григорий ©   (2002-11-21 18:48) [2]

А что если использовать не onShow, а onActivate?


 
MsGuns ©   (2002-11-21 21:20) [3]

Разобрался !
Для получения координаты любого контрола относительно экрана есть простое до безобразия средство - св-во ClientOrigin ! это называется искать 2 часа ключи, крутя их на пальце 8)
С неправильным позиционированием при первом показе неглавной формы сделал как велел Слесарь Матерящийся (21.11.02 13:07) - и все встало на свои места. Большое всем спасибо !

ЗЫ. Блин, я в экстазе от разработчиков Д ! Даже это (ClientOrigin) предусмотрено.



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

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

Наверх




Память: 0.47 MB
Время: 0.019 c
1-4334
Slaviq
2002-11-19 20:38
2002.12.02
TTreeView


1-4332
Zaratustra
2002-11-19 14:38
2002.12.02
Архивация


3-4263
skirdov
2002-11-12 14:47
2002.12.02
Выборка данных с SQL Server


1-4422
Ag2002
2002-11-23 12:21
2002.12.02
ListView1.Items.Delete(i);


3-4239
delta
2002-11-14 14:31
2002.12.02
Вложений SQL запрос