Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "KOL";
Текущий архив: 2007.11.25;
Скачать: [xml.tar.bz2];

Вниз

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 вся ветка

Форум: "KOL";
Текущий архив: 2007.11.25;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.066 c
2-1193926814
webpauk
2007-11-01 17:20
2007.11.25
удаление элемента из Array


5-1163266828
Vasiliy
2006-11-11 20:40
2007.11.25
Как отработать DragAndDrop в DesignTime?


10-1140499983
rosl
2006-02-21 08:33
2007.11.25
excel


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


6-1174560382
zero
2007-03-22 13:46
2007.11.25
Проблема с компонентом idFtp





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский