Форум: "Начинающим";
Текущий архив: 2006.06.11;
Скачать: [xml.tar.bz2];
ВнизВопрос по стандартному компоненту TrayIcon Найти похожие ветки
← →
Tempora (2006-05-25 09:01) [0]Есть компонент TrayIcon входящий в последние версии Delphi.
Как сделать так, чтобы:
1. при запуске программы иконки в трее не было
2. при нажатии на главной форме кнопки Minimize иконка в трее появлялась и туда сворачивалась программа
3. при нажатии на иконку в трее иконка пропадала и показывалась главная форма программы
← →
TUser © (2006-05-25 09:43) [1]Хелп к компоненнты в последние версии Delphi входит? Там есть свойство Active или ShowIcon или что-то вроде того. И список событий посмотри.
← →
Handle (2006-05-25 09:55) [2]У меня нет D2005, поэтому могу предложить следующий вариант.
Может пригодится.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Shellapi;
const
WM_NOTIFYTRAYICON = WM_USER + 1;
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
procedure WMTRAYICONNOTIFY(var Msg: TMessage); message WM_NOTIFYTRAYICON;
procedure OnMinimizeProc(Sender: TObject);
public
{ Public declarations }
end;
var
Form1: TForm1;
CursorPos: TPoint;
implementation
{$R *.dfm}
procedure TForm1.WMTRAYICONNOTIFY(var Msg: TMessage);
var
Tray: TNotifyIconData;
begin
case Msg.LParam of
WM_LBUTTONDOWN:
begin
GetCursorPos(CursorPos);
SetForegroundWindow(Application.MainForm.Handle);
Form1.Show;
Application.Restore;
with Tray do
begin
cbSize := SizeOf(TNotifyIconData);
Wnd := Form1.Handle;
uID := 0;
end;
Shell_NotifyIcon(NIM_DELETE, Addr(Tray));
end;
end;
end;
procedure TForm1.OnMinimizeProc(Sender: TObject);
var
Tray: TNotifyIconData;
begin
with Tray do
begin
cbSize := SizeOf(TNotifyIconData);
Wnd := Form1.Handle;
uID := 0;
uFlags := NIF_ICON or NIF_MESSAGE or NIF_TIP;
uCallBackMessage := WM_NOTIFYTRAYICON;
hIcon := Application.Icon.Handle;
szTip := ("Имя программы");
end;
Shell_NotifyIcon(NIM_ADD, Addr(Tray));
Form1.Hide;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Application.OnMinimize:= OnMinimizeProc;
end;
end.
← →
Tempora (2006-05-25 09:56) [3]TUser
Смотрел. Многое из списка я конечно решил, но самого главного - нет.
В общем скачал CoolTrayIcon, но такое ощущение что он 32-битные иконки не понимает
← →
Handle (2006-05-25 10:37) [4]http://www.raize.com/DevTools/RzComps/DemoTrial.asp
Здесь есть RzTrayIcon, отличный компонент, правда серийники придётся искать.
← →
Tempora (2006-05-26 12:49) [5]Handle
Спасибо!
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.06.11;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.012 c