![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Минимизация формы. [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 думаю есть.