Главная страница
    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
15-1141105932
Ega23
2006-02-28 08:52
2006.03.26
С Днём рождения! 28 февраля


10-1110390853
Nicolas1989
2005-03-09 20:54
2006.03.26
Как вставить строку в Excel через ExcelApplication?


9-1126594429
WondeRu
2005-09-13 10:53
2006.03.26
OpenGL. Вывод одновременно растрового и векторного шрифтов. Как?


15-1141471539
DenMaster
2006-03-04 14:25
2006.03.26
Помогите найти программу:


2-1141994458
jeka_t
2006-03-10 15:40
2006.03.26
Как определить текущий TDBGrid.Row при событии DrawColumnCell?





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