Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Минимизация формы. [D6, Win2k]


badaxe ©   (2003-01-22 10:37:00) 

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


Чих-пых   (2003-01-25 06:01:00) [1]

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


badaxe   (2003-01-24 14:01:00) [2]

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


Roma   (2003-01-23 14:43:00) [3]

> 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);


Anatoly Podgoretsky   (2003-01-23 13:45:00) [4]

Это

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

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

WnHnd := WnHnd and not WS_EX_TOOLWINDOW;


LongIsland   (2003-01-23 13:36:00) [5]

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.

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


badaxe   (2003-01-23 13:26:00) [6]

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


Anatoly Podgoretsky   (2003-01-22 11:29:00) [7]

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


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

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

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо