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

Вниз

Form.CanResize:=False и програмное изменение размеров   Найти похожие ветки 

 
Ajax ©   (2005-08-03 12:33) [0]

Почему при выставлении Form.CanResize:=False перестает работать програмное изменение размеров? IMHO CanResize должно относится только к действию пользователя. Или нет?

Если сейчас все правильно, тогда как не позволять пользователю изменять размеры, но иметь возможность делать это програмно?

Спасибо.


 
Thaddy   (2005-08-03 13:09) [1]

This is the Windows API works.
If you want to set it programmatically, you have to temporary re-enable resizing.
On some older Windows versions it may be even necessary to recreate the Window to obtain the proper result.
On Me/XP this is not necessary.

Anyway, should you need it, here's code that does this for KOL:

// Surfaces protected fields and methods outside kol.pas
type
 PHack = ^THack;
 THack = object(TControl)end;

// KOL recreatewindow, like in the VCL
// Handy for adapting WindowClass parameters like
// CS_NOCLOSE at runtime.
procedure ReCreateWindow(aControl:PControl);
begin
DestroyWindow(aControl.Getwindowhandle);
PHack(aControl).fHandle:=0;
aControl.CreateWindow;
end;


 
Ajax ©   (2005-08-03 14:36) [2]

Thank you. But what about my first question? When I set bsSingle border style in VCL, changing form"s size programatically works fine. For KOL I use temporary re-enabling resizing, but I think that it isn"t right. Also there is a visual effect of changing CanResize state. So it isn"t good method.


 
ECM ©   (2005-08-03 14:57) [3]

Form.CanResize:=TRUE
Form.Style := Form.Style and not WS_THICKFRAME;

enjoy!


 
Ajax ©   (2005-08-03 17:18) [4]

>[3] ECM ©   (03.08.05 14:57)
Спасибо! Просто дело в том, что я на автомате ставил Form.Style or not WS_THICKFRAME, когда пытался аналогично проблему решить :-)
Все вопрос закрыт.



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

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

Наверх




Память: 0.45 MB
Время: 0.043 c
2-1141985633
Gleb
2006-03-10 13:13
2006.03.26
Как с помощью Delphi перемножить две матрицы?


1-1140945024
nap<>
2006-02-26 12:10
2006.03.26
Панель инструментов


2-1140436679
alex111
2006-02-20 14:57
2006.03.26
Как сравнить время


2-1141894040
nap<>
2006-03-09 11:47
2006.03.26
Minimize


2-1142161827
Sollo
2006-03-12 14:10
2006.03.26
DBX SimpleDataSet кажется проблемы с кэшированием





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский