Главная страница
    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.45 MB
Время: 0.012 c
2-1148388071
sashki
2006-05-23 16:41
2006.06.11
типы windows.tosversioninfo


15-1147720258
Nous Mellon_
2006-05-15 23:10
2006.06.11
Настройка монитора


2-1148792000
brother
2006-05-28 08:53
2006.06.11
Линейное движение


1-1146550657
ArchValentin
2006-05-02 10:17
2006.06.11
Проблемы со шрифтами в QuickReport


1-1146911128
Черников
2006-05-06 14:25
2006.06.11
Проблемы с DPI Settings.





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