Главная страница
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-1184003913
IMHO
2007-07-09 21:58
2007.11.25
SQLite 3


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


2-1193848611
harisma
2007-10-31 19:36
2007.11.25
Позиционирование на запись в ComboBox


15-1193398146
Cj
2007-10-26 15:29
2007.11.25
Driver Development Kit


2-1193888268
Гном1
2007-11-01 06:37
2007.11.25
2 вопроса по БД