Главная страница
    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.176 c
14-1110458494
Layner
2005-03-10 15:41
2005.03.27
Subscribe, кто с ним дружит?


1-1110879559
BorisUK
2005-03-15 12:39
2005.03.27
по группировке в FastReports


1-1110443331
ctranik
2005-03-10 11:28
2005.03.27
Проблемы с System Tree


3-1109317888
Bless
2005-02-25 10:51
2005.03.27
Как узнать номер версии ADO?


14-1110456689
boriskb
2005-03-10 15:11
2005.03.27
Задача для продавца компов





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