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

Вниз

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

 
badaxe ©   (2003-01-22 10:37) [0]

Народ, может ламерский вопрос, но...
Какое событие наступает во время минимизации формы?


 
smok_er   (2003-01-22 10:43) [1]

>>Какое событие наступает

Наверное имеется ввиду сообщение?
При щелканьи на кнопочку "minimize" меню окна - WM_SYSCOMMAND
но наверное и что-то типа WM_MINIMIZE думаю есть.


 
Anatoly Podgoretsky ©   (2003-01-22 11:29) [2]

У формы таких событй нет, есть у TApplication


 
badaxe ©   (2003-01-23 13:26) [3]

Да...
Но возникла другая проблема: если на экране несколько форм(приложений), то свернувшись моя форма остается неактивной и для того чтобы Application.OnMinimize сработало надо на нее еще раз кликнуть.
Вообще суть дела заключается в селедеющем: я поместил иконку своего приложения в tray и теперь хочу чтобы при сворачивании формы она исчезала с экрана и оставалась только в tray.
Подскажите как быть... может я вообще не по тому пути пошел?


 
LongIsland ©   (2003-01-23 13:36) [4]

var
WnHnd : Integer;

begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);

WnHnd := GetWindowLong(Application.Handle, GWL_EXSTYLE);
if (WnHnd and WS_EX_TOOLWINDOW) = WS_EX_TOOLWINDOW then
WnHnd := WnHnd - WS_EX_TOOLWINDOW
else
WnHnd := WnHnd or WS_EX_TOOLWINDOW;
Application.MainForm.Hide;
SetWindowLong(Application.Handle, GWL_EXSTYLE, WnHnd);
Application.MainForm.Show;

Application.Run;
end.

Теперь только в трее будет


 
Anatoly Podgoretsky ©   (2003-01-23 13:45) [5]

Это

if (WnHnd and WS_EX_TOOLWINDOW) = WS_EX_TOOLWINDOW then
WnHnd := WnHnd - WS_EX_TOOLWINDOW

можно записать так

WnHnd := WnHnd and not WS_EX_TOOLWINDOW;



 
Roma ©   (2003-01-23 14:43) [6]

> badaxe © (23.01.03 13:26)

procedure TForm1.ApplicationEvents1Minimize(Sender: TObject);
begin
ShowWindow(Application.Handle, SW_HIDE);
end;


На double-click (или на что хочешь) по иконке в tray:
ShowWindow(Application.Handle, SW_SHOW);


 
badaxe ©   (2003-01-24 14:01) [7]

Народ всем спасибо большое !!
Все работает, но я дуиаю меня простят если я внутри этого сабжа задам еще один вопрос :))
Как сделать так чтоб форма моя появлялась поверх всех остальных открытых окон?


 
Чих-пых ©   (2003-01-25 06:01) [8]

У неё проперти такое есть.



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

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

Наверх




Память: 0.48 MB
Время: 0.013 c
3-4745
andwcomm
2003-01-15 21:20
2003.02.03
Как програмно узнать физическое расположение файла базы данных


3-4810
Иксик
2003-01-17 13:15
2003.02.03
Фильтр в ADOQuery


14-5249
Ketmar
2003-01-15 21:01
2003.02.03
Elite: Mythology - нужна ли там сеть?


1-4907
Kventin
2003-01-25 15:38
2003.02.03
Ошибка: Cannot focus a disabled or invisible window


14-5271
OlDemon
2003-01-17 11:24
2003.02.03
UPS