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

Вниз

Зменение размера окна без отображения его содержимого.   Найти похожие ветки 

 
Alexandr B.   (2003-02-21 17:14) [0]

Здраствуйте.
Происходит сложые расчеты и отрисовка изображения в зависимости от размера формы.
Все это повешенно на событие изменения размера формы.
Есть ли возможность отключить отображение содержимого формы при изменения размера моей формы? То есть что бы при измении размера оно производилось в виде прямоугольника, как в windows 95.


 
Alexandr B.   (2003-02-21 17:16) [1]

Возможно есть люди которые реализовали сие, скажем с использованим SystemParametersInfo и путем перехвата сообщений.


 
Alex44   (2003-02-21 23:17) [2]

WM_ENTERSIZEMOVE WM_PAINT WM_NCPAINT WM_EXITSIZEMOVE


 
Alexandr B.   (2003-02-22 10:44) [3]

Спасибо, к сожелению с WM_ENTERSIZEMOVE не получилось (судя по всему windows не может изменить тип перемещения окна после начала сего), зато WM_NCLBUTTONDOWN и соответственно WM_NCLBUTTONUP всче прошло на ура.
И соответственно код, мож кому пригодится.
public
{ Public declarations }
bIsFullDrag:Boolean;
procedure EXITSIZEMOVE(var msg: TMSG); message WM_EXITSIZEMOVE;
procedure NCLBUTTONDOWN(var msg: TMSG); message WM_NCLBUTTONDOWN;
procedure NCLBUTTONUP(var msg: TMSG); message WM_NCLBUTTONUP;
end;
----
procedure TForm1.EXITSIZEMOVE(var msg: TMSG);
begin
SystemParametersInfo(SPI_SETDRAGFULLWINDOWS,cardinal(bIsFullDrag),nil,0);
inherited;
end;

procedure TForm1.NCLBUTTONDOWN(var msg: TMSG);
begin
SystemParametersInfo(SPI_GETDRAGFULLWINDOWS,0,@bIsFullDrag,0);
if bIsFullDrag then
SystemParametersInfo(SPI_SETDRAGFULLWINDOWS,0,nil,0);
inherited;
end;

procedure TForm1.NCLBUTTONUP(var msg: TMSG);
begin
SystemParametersInfo(SPI_SETDRAGFULLWINDOWS,cardinal(bIsFullDrag),nil,0);
inherited;
end;


 
Alex44   (2003-02-22 21:07) [4]

Strogo govorya, ya ne imel v vidu izmenenie SYSTEMNYH parameterov: mne kazhetsya, eto grubo, t.k. eto---rerogativa user"a. Mozhno prosto vystavlyat" flag po WM_ENTER..., sbrasyvat" ego po WM_EXIT..., i perehvatyvat" WM_...PAINT i, v zavisimosti ot flaga, libo prosto risovat" ramku, libo inherited.



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

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

Наверх




Память: 0.47 MB
Время: 0.013 c
3-13052
Fuelfire
2003-05-16 09:10
2003.06.05
Как сделать, чтобы данные с формы редактирования сохранялись?


1-13156
Nikos
2003-05-25 16:08
2003.06.05
Как вывести на печать информацию в таблице?


1-13209
Edelweiss
2003-05-27 11:05
2003.06.05
Oсновная форма создает окно. Как сделать, чтобы это окно было


8-13335
Mihan
2003-02-22 17:28
2003.06.05
как перерисовать экран


14-13474
panov
2003-05-14 21:27
2003.06.05
---|Ветка была без названия|---