Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
3-1145346379
Sanych_K_A
2006-04-18 11:46
2006.06.11
Ошибка при подключении к FireBird


2-1148797337
ZV
2006-05-28 10:22
2006.06.11
Focus


2-1148647797
ADS
2006-05-26 16:49
2006.06.11
Настройка MaskEdit


15-1147962627
ArtemESC
2006-05-18 18:30
2006.06.11
Как узнать существует ли почта, связанная с данным Mail ом?


2-1148533266
Tempora
2006-05-25 09:01
2006.06.11
Вопрос по стандартному компоненту TrayIcon





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