Главная страница
    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.83 MB
Время: 0.027 c
8-5072
Е.М. Саша
2002-10-18 22:50
2003.02.03
Компонент для проигрывания MIDI


8-5095
Lnstr
2002-10-18 12:03
2003.02.03
Вывод компонентом Mediaplayer AVI с кодеком Matrox DigiSuite


3-4784
edicon
2003-01-11 01:52
2003.02.03
Записи в БД


1-4911
Shuma
2003-01-25 22:24
2003.02.03
Минимизация формы


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