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

Вниз

CenterOnParent   Найти похожие ветки 

 
AndreyRus   (2007-05-05 18:50) [0]

При установке свойства формы - "CenterOnScreen" генерируется лишний код SetPosition(x, y):

procedure NewForm1( var Result: PForm1; AParent: PControl );
begin
 Result.Form := NewForm( AParent, "Form1" ).SetPosition( 306, 260 ).SetClientSize( 504, 368 );
 // ...
 Result.Form.CenterOnParent;
end;


P.S. К тому же, CenterOnParent дает неправильное центрирование формы, если увеличить высоту панели задач.


 
Compiler ©   (2007-05-06 01:48) [1]

Form.CenterOnParent  - центрирует форму независимо от высоты панели задач. Для ее учета попробуйте:

procedure DlgCenter( Wnd: HWnd );
var
 R2,R: TRect;
 W, H: Integer;
begin
 GetWindowRect( Wnd, R );
 R2:=GetDesktopRect;
 W := R.Right - R.Left;
 H := R.Bottom - R.Top;
 R.Left := (R2.Right - W) div 2;
 R.Top := (r2.Bottom - H) div 2;
 MoveWindow( Wnd, R.Left, R.Top, W, H, True );
end;


 
AndreyRus   (2007-05-06 02:09) [2]

я знаю как исправить это... Просто обратил внимание.


 
Compiler ©   (2007-05-06 12:31) [3]

Я заподозрил, что нужно готовое решение.


 
AndreyRus   (2007-05-06 14:06) [4]

Я думаю, что нужно подпатчить KOL.


 
Vladimir Kladov   (2007-05-06 15:26) [5]

Центрирование относительно экрана - делается правильно. Центрирование относительно любого другого прямоугольгика - делайте сами. Патчить KOL не нужно.


 
AndreyRus   (2007-05-06 16:46) [6]

В принципе да. Если отказаться от функции CenterOnParent, то код получается значительно меньше. Хотя линкер навряд ли выкинет код CenterOnParent... наверняка где нибудь используется.


 
Vladimir Kladov   (2007-05-06 20:28) [7]

С какой стати. Это конечный метод уровня программиста, использующего библиотеку.



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

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

Наверх




Память: 0.47 MB
Время: 0.014 c
15-1193225950
Tonich
2007-10-24 15:39
2007.11.25
исключение - EPrivilege


15-1191929132
Nucer
2007-10-09 15:25
2007.11.25
Ever more


6-1174306146
Vostrik
2007-03-19 15:09
2007.11.25
IdSMNP


15-1193393342
Kerk
2007-10-26 14:09
2007.11.25
Синхронизация потоков


2-1193926814
webpauk
2007-11-01 17:20
2007.11.25
удаление элемента из Array