Выпуск № 1399 от 27.06.2009, 15:35
Администратор рассылки: Калашников О.А., Руководитель
В рассылке: подписчиков - 558, экспертов - 186
В номере: вопросов - 1, ответов - 1
Нам очень важно Ваше мнение об этом выпуске рассылки. Вы можете оценить этот выпуск по пятибалльной шкале, пройдя по ссылке: оценить выпуск >>
Вопрос № 169730: Здравствуйте! Есть форма, на ней допустим кнопка! при нажатии на кнопку появляется другая форма! вопрос в том как позиционировать форму рядом с кнопкой! форма вызывается так: procedure button1Click(Sender: TObject); var f: TForm;Вопрос № 169730:
Здравствуйте! Есть форма, на ней допустим кнопка! при нажатии на кнопку появляется другая форма! вопрос в том как позиционировать форму рядом с кнопкой!
форма вызывается так: procedure button1Click(Sender: TObject); var f: TForm; begin f := TForm.Create(self); f.ShowModal; end;
попробовал в событии OnShow сделать следующее:
left := (Owner as TForm).ActiceComponent.left // что то типа того
на форме могут быть и другие компоненты посредством которых может
вызвана форма.
В данном примере формы будет показана начиная с левого нижнего угла. Для
вычисления позиций используются следующие данные: Form1.Left - позиция главной формы (которая вызывает другую) слево от края экрана button1.Left - позиция нажатой кнопки от левого края формы button1.Width - ширина кнопки.
Form1.Top - позиция главной формы (которая вызывает другую) сверху от края экрана button1.Height - высота кнопки button1.Top - позиция нажатой кнопки сверху от края клиентской части формы. Клиентская часть формы не включает строк
у меню.
GetSystemMetrics(SM_CXEDGE) - возвращает значения системных переменных. В нашем случае используется (из Delphi Help - Win32 Developer's Reference (Windows SDK)): SM_CXEDGE, SM_CYEDGE - Dimension in pixel of 3-D border SM_CYCAPTION - Heigth in pixel of normal caption area (Высота заголовка окна)
В случае если у вас есть также и меню в главной форме, то необходимо также учитывать и его SM_CYMENU.
Ответ отправил: OlegD, 1-й класс
Ответ отправлен: 22.06.2009, 16:56
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 251331
на номер 1151 (Россия) |
Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Нам очень важно Ваше мнение об этом выпуске рассылки. Вы можете оценить этот выпуск по пятибалльной шкале, пройдя по ссылке: оценить выпуск >>
* Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи.
(полный список тарифов)
** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
*** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.