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

Вниз

Минимизация формы   Найти похожие ветки 

 
Интересующийся   (2007-03-06 15:19) [0]

Как отловить минимизацию формы?

В проекте существует форма которая минимизируется после запуска программы как положено, но после восстановления формы в нормальное состояние "минимизация" перестает выполняться. :(


 
Юрий Зотов ©   (2007-03-06 16:34) [1]

> Как отловить минимизацию формы?

Отловить WM_SYSCOMMAND с SC_MINIMIZE.


 
Интересующийся   (2007-03-06 17:07) [2]

Отловил WM_SYSCOMMAND, событие есть - минимизации нет :(???


 
Интересующийся   (2007-03-06 17:09) [3]

Как определить, форма минимизирована или в нормальном состоянии?


 
Правильный Вася   (2007-03-06 17:24) [4]

TForm.State


 
Novice   (2007-03-07 07:04) [5]

Интересующийся:

TForm1 = class(TForm)
...
private
...
protected
procedure WMGetSysCommand(var message : TMessage); message WM_SYSCOMMAND;
...
public
...
...
...

procedure TForm1.WMGetSysCommand(var message: TMessage);
begin
if (message.wParam = SC_MINIMIZE) then begin
//Ваши действия
end;
inherited;
//Эта строчка отвечает за то, чтобы событие произошло.
//не будет этой строчке - событие минимизации не произойдет.
end;

ну а также параметры - SC_CLOSE, SC_MAXIMIZE, SC_RESTORE.


 
Интересующийся   (2007-03-09 08:47) [6]

Спасибо за советы, но в обработке у меня примерно так и стояло...

У меня вопрос так решается:

Inherited;

 If Message.WParam=SC_MINIMIZE Then
 Begin
 //Рабочий код
 End;

А глюк с минимизацией я решил, он в другом месте был.
P.S.

Другая проблема возникла, с мень в SysTrey, но это уже вопрос не этой ветки...


 
Интересующийся   (2007-03-09 09:15) [7]

> А глюк с минимизацией я решил, он в другом месте был.

Вот решение, но с чем была связана проблема я непонял (возможно из-за вызова формы из DLL). В обычном приложении все нормально работало и так.


If Message.WParam=SC_MINIMIZE Then
Begin
WindowState:=wsMinimized;

//Рабочий код
End;


 
Юрий Зотов ©   (2007-03-10 13:28) [8]

In WM_SYSCOMMAND messages, the four low-order bits of the wParam parameter are used internally by the system. To obtain the correct result when testing the value of wParam, an application must combine the value 0xFFF0 with the wParam value by using the bitwise AND operator.

if (Message.WParam and $FFF0) = SC_MINIMIZE then...



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

Форум: "Основная";
Текущий архив: 2007.05.06;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.066 c
2-1176787851
allucard
2007-04-17 09:30
2007.05.06
Как внутри класса динамически создавать обьекты?


8-1156137198
Proger1983
2006-08-21 09:13
2007.05.06
DSPack и субтитры


2-1176804210
dr_craigan
2007-04-17 14:03
2007.05.06
под окном


2-1176464297
ppcumax
2007-04-13 15:38
2007.05.06
Как получить страницу после поста


2-1176490877
Malik
2007-04-13 23:01
2007.05.06
Нужен объект для создание дерева состоящего из чекебоксов





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