Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.144.18.4] |
|
Сообщ.
#1
,
|
|
|
Интересует следующее........есть две формы, одна основная, другая подчиненная - открывается по нажатию. В пропертях ставлю poScreenCenter. Открываю, сдвигаю в сторону, закрываю. Открываю снова, форма на месте, куда сдвинул, а не в центре. Открываю как ShowModal. что надо сделать, чтобы при дальнейших открытиях она была в центре. Спасибо.
|
Сообщ.
#2
,
|
|
|
По событию подчиненной формы OnShow ставить форму по центру экрана. Больше, кажись, никак...
|
Сообщ.
#3
,
|
|
|
Понимаешь, ставлю в он show свойство Property =poDesktopCenter; тогда при компиляции выдается ошибка мол форма инвизибл, и ошибка. Ставлю в свойство onCreate тогда пофигу.
|
Сообщ.
#4
,
|
|
|
Сделай так - работает...
------------------cut----------------------- procedure TForm2.FormShow(Sender: TObject); var Rc:TRect; ScreenCX,ScreenCY:integer; begin GetWindowRect(Handle, rc); ScreenCX:=GetSystemMetrics(SM_CXSCREEN); ScreenCY:=GetSystemMetrics(SM_CYSCREEN); SetWindowPos(Handle, 0,((ScreenCX - (rc.right - rc.left)) div 2), ((ScreenCY - (rc.bottom - rc.top)) div 2),0, 0, SWP_NOSIZE or SWP_NOACTIVATE); end; |