Главная страница
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.02 c
3-1184316065
Сатир
2007-07-13 12:41
2007.11.25
Invalid typecast


2-1194014087
Kolan
2007-11-02 17:34
2007.11.25
Логика работы программы, которая что-то делает по расписанию.


15-1193378641
Влад Васнецов
2007-10-26 10:04
2007.11.25
Защита программы, конкретно под железо.


2-1193990873
Washington
2007-11-02 11:07
2007.11.25
Цвет Item a


2-1193987162
Alex8
2007-11-02 10:06
2007.11.25
Набор полей в Query при 3-х таблицах