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

Вниз

System Tray & Сворачивание Разворачивание Программы.   Найти похожие ветки 

 
Зигмунд ©   (2005-02-14 12:49) [0]

Как сделать так чтобы при клике на значке программы в system tray она разворачивалась, если свернута и сворачивалось если развернута. Как сворачивать?


 
Зигмунд ©   (2005-02-14 13:17) [1]

Как сделать-то? в трей помешать я уже научился. а как свернуть в трей? Помогите мне.


 
Cosinus ©   (2005-02-14 13:25) [2]

Отлавливать сообщения мыши. См. справку+кучу примеров в нете.


 
Jay1982 ©   (2005-02-14 13:32) [3]

Ты обрабатываешь полученные сообщения, а теперь делай так:

if Form1.Visible then Form1.Hide else Form1.Show

или же с "анимацией"

if Form1.Visible then
begin
 PostMessage(Form1.Handle, WM_MINIMIZE, 0, 0);
 Form1.Hide
end else
 Form1.Show
end;


 
Jay1982 ©   (2005-02-14 13:34) [4]

Ты обрабатываешь полученные сообщения, а теперь делай так:

if Form1.Visible then Form1.Hide else Form1.Show

или же с "анимацией"

if Form1.Visible then
begin
 PostMessage(Form1.Handle, WM_MINIMIZE, 0, 0);
 Form1.Hide
end else
 Form1.Show
end;


 
Jay1982 ©   (2005-02-14 13:35) [5]

Ты обрабатываешь полученные сообщения, а теперь делай так:

if Form1.Visible then Form1.Hide else Form1.Show

или же с "анимацией"

if Form1.Visible then
begin
 PostMessage(Form1.Handle, WM_MINIMIZE, 0, 0);
 Form1.Hide
end else
 Form1.Show
end;


 
Jay1982 ©   (2005-02-14 13:47) [6]

Немного ошибся:

 PostMessage(Form1.Handle, WM_SYSCOMMAND, SC_MINIMIZE, 0)


 
Зигмунд ©   (2005-02-14 13:48) [7]


> Jay1982 ©

Спасибо. Но это то я знал.
А вот Как отловить что призошел клик именно над значком моей программы, находяшейся в system tray?


 
Jay1982 ©   (2005-02-14 13:52) [8]

Зигмунд ©   (14.02.05 13:48) [7]
А как ты его туда добавляешь?


 
Зигмунд ©   (2005-02-14 14:09) [9]


> Jay1982 ©

через Shell_NotifyIcon


 
Jay1982 ©   (2005-02-14 15:13) [10]

Тогда в uCallbackMessage ты указываешь, сообщение, которое отсылаешь окну, вот его и обрабатывай...


 
Зигмунд ©   (2005-02-15 11:44) [11]

Копался, копался весь день но так и не понял как сворачивать, а добавляю вот так:
const WM_MY_MESSAGE = WM_USER + 0;

procedure UpdateTaskBar;
var NotifyData: TNotifyIconData;
begin

With NotifyData do
begin
cbSize           := SizeOf(TNotifyIconData);
Wnd              := Application.Handle;
uID              := 0;
uFlags           := NIF_ICON or NIF_MESSAGE or NIF_TIP;  uCallbackMessage := WM_MY_MESSAGE;  
hIcon            := Application.Icon.Handle;
szTip            := "Отправка!";  
end;
Shell_NotifyIcon(NIM_ADD, @NotifyData);
end;


 
grom   (2005-02-15 12:35) [12]

...
private
procedure Ico(var M:TMessage); message WM_USER+456;
...
procedure UpdateTaskBar;
var NotifyData: TNotifyIconData;
begin
With NotifyData do
begin
cbSize           := SizeOf(TNotifyIconData);
Wnd              := Form1.Handle;
uID              := 1;
uFlags           := NIF_ICON or NIF_MESSAGE or NIF_TIP;
uCallbackMessage := WM_USER+456;
hIcon            := Application.Icon.Handle;
szTip            := "Îòïðàâêà!";
end;
Shell_NotifyIcon(NIM_ADD, @NotifyData);
end;

procedure TForm1.Ico(var M:TMessage);
begin
if M.WParam = 1 then
case M.LParam of
WM_RBUTTONUP : Visible:= not Visible;
WM_LBUTTONUP : Visible:= not Visible;
WM_MBUTTONUP : Visible:= not Visible;
end;
end;


 
Зигмунд ©   (2005-02-15 15:03) [13]

Спасибо.



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

Форум: "WinAPI";
Текущий архив: 2005.03.27;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.036 c
4-1106050537
fafCracker
2005-01-18 15:15
2005.03.27
Помогите с Hook - убийцей мыши и клавы


1-1110463778
TechnoDreamer
2005-03-10 17:09
2005.03.27
Быстрый поиск по TreeView


1-1110563318
redlord
2005-03-11 20:48
2005.03.27
перебор рантайм объектов


14-1109949577
аноним_
2005-03-04 18:19
2005.03.27
Вопрос по javascript


4-1108201843
Goorus
2005-02-12 12:50
2005.03.27
Опять Hook DLL :)





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