Форум: "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