Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.022 c
2-1193910412
werb
2007-11-01 12:46
2007.11.25
Узнать включен комп или нет


2-1193897410
antoxa2005
2007-11-01 09:10
2007.11.25
А как заменить обин символ, на другой?


15-1193320487
leonidus
2007-10-25 17:54
2007.11.25
Подскажите компонент для удобного проектирования визарда


11-1163342104
Ned
2006-11-12 17:35
2007.11.25
Отцентровать изображение


4-1178613598
Iv_
2007-05-08 12:39
2007.11.25
Регион, процедура прорисовки окна




   Наверх