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

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.01 c
6-5104
John
2002-12-05 22:44
2003.02.03
<b>Socket ы</b>


1-4862
pet
2003-01-24 18:59
2003.02.03
ярлык


1-5030
Shc
2003-01-21 20:21
2003.02.03
Как правильно закрыть чужое приложение?


6-5113
pwlusa
2002-12-05 06:52
2003.02.03
Как получить HTML код


8-5086
Алексей
2002-10-21 15:15
2003.02.03
Мультимедия





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