Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.03.26;
Скачать: CL | DM;

Вниз

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

Текущий архив: 2006.03.26;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.032 c
2-1141737745
DelphiLexx
2006-03-07 16:22
2006.03.26
Выскакивания окна подобно вызовам методам в Delphi


2-1142251872
S{h}ura
2006-03-13 15:11
2006.03.26
MSAccess


2-1141745484
Nsk3D
2006-03-07 18:31
2006.03.26
где собака зарыта?


3-1139147979
OldNick
2006-02-05 16:59
2006.03.26
Удаленные записи в paradox


2-1141716984
Ivolg
2006-03-07 10:36
2006.03.26
Чтение из потока...