Текущий архив: 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.44 MB
Время: 0.007 c