Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.02.04;
Скачать: [xml.tar.bz2];

Вниз

RxLib TrayIcon: как убрать из Taskbar   Найти похожие ветки 

 
Oleg Fomicheff   (2002-01-18 13:18) [0]

Поможите плиз!
В RxLib есть компонент TrayIcon: иконку-то он в systray кладет, но из Taskbar кнопку почему-то не убирает :(((.
Как убрать или может я чего не так настроил?
---
Олег.


 
IronHawk   (2002-01-18 13:22) [1]

Он её убирает коды ты сворачиваешь прогу свою !


 
Fellomena   (2002-01-18 13:51) [2]

Все помешались на компонентах, которые иконку в Tray-е рассполагают 8(
Делайте сами - тогда всё можно будет изменить в любом месте:

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ShellApi;

type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
procedure NotifyIcon(var Msg : TMessage);message WM_USER + 100;
procedure OnMinimizeEvt(Sender : TObject);
procedure AppMessage(var Msg: TMsg; var Handled: Boolean);
public
{ Public declarations }
end;

var
Form1: TForm1;
MyMenu1: HMENU;
TrayIcon : TNotifyIconData;

implementation

{$R *.dfm}

procedure TForm1.OnMinimizeEvt(Sender : TObject);
begin
ShowWindow(Application.Handle,SW_HIDE);
end;

procedure TForm1.NotifyIcon(var Msg : TMessage);
begin
case Msg.LParam of
WM_LBUTTONDBLCLK :
begin
ShowWindow(Application.Handle,SW_SHOW);
Application.Restore;
end;
WM_RBUTTONDOWN:
begin
Button2.Click;
TrackPopupMenu(MyMenu1, TPM_RIGHTBUTTON, Mouse.CursorPos.X, Mouse.CursorPos.Y, 0, Form1.Handle, 0);
end;
end;{case}
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
TrayIcon.cbSize := SizeOf(TrayIcon);
TrayIcon.Wnd := Form1.Handle;
TrayIcon.uID := 100;
TrayIcon.uFlags := NIF_MESSAGE + NIF_ICON + NIF_TIP;
TrayIcon.uCallbackMessage := WM_USER + 100;
TrayIcon.hIcon := Application.Icon.Handle;
TrayIcon.szTip:="Fucking turget to destroy";
Shell_NotifyIcon(NIM_ADD,@TrayIcon);
Application.OnMinimize:= OnMinimizeEvt;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
MyMENUITEMINFO: tagMENUITEMINFO;
begin
with MyMENUITEMINFO do
begin
cbSize:=SizeOf(MENUITEMINFO);
fMask:=MIIM_ID+MIIM_TYPE;
fType:=MFT_STRING;
fState:=MFS_ENABLED;
wID:=1;
hSubMenu:=0;
hbmpChecked:=0;
hbmpUnchecked:=0;
dwItemData:=0;
dwTypeData:="Exit";
end;

MyMenu1:=CreatePopupMenu();
InsertMenuItem(MyMenu1, 0, false, MyMENUITEMINFO);
with MyMENUITEMINFO do
begin
cbSize:=SizeOf(MENUITEMINFO);
fMask:=MIIM_ID+MIIM_TYPE;
fType:=MFT_STRING;
fState:=MFS_ENABLED;
wID:=2;
hSubMenu:=0;
hbmpChecked:=0;
hbmpUnchecked:=0;
dwItemData:=0;
dwTypeData:="ShowMessage";
end;
InsertMenuItem(MyMenu1, 0, false, MyMENUITEMINFO);

end;

procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if Button=mbRight then
TrackPopupMenu(MyMenu1, TPM_RIGHTBUTTON, Mouse.CursorPos.X, Mouse.CursorPos.Y, 0, Form1.Handle, 0);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
Application.OnMessage := AppMessage;
end;

procedure TForm1.AppMessage(var Msg: TMsg; var Handled: Boolean);
begin

if (Msg.message = WM_COMMAND) and (LOWORD(Msg.wParam) = LOWORD(2)) then
begin
ShowMessage("Message recieved");
Handled := True;
end;
if (Msg.message = WM_COMMAND) and (LOWORD(Msg.wParam) = LOWORD(1)) then
begin
Shell_NotifyIcon(NIM_DELETE,@TrayIcon);
Close;
Handled := True;
end;

end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Shell_NotifyIcon(NIM_DELETE,@TrayIcon); // ТУТ ТЫ ЕЁ УДАЛЯЕШЬ
end;

end.

Пример самопальный, но работает нормально вроде 8)


 
Oleg Fomicheff   (2002-01-18 13:51) [3]

у меня чего-то не убирает :(((


 
Oleg Fomicheff   (2002-01-18 14:17) [4]

TO Fellomena
>> Все помешались на компонентах, которые иконку в Tray-е
>> рассполагают 8(

ну для постоянно работающих прог - нормально
>> Делайте сами - тогда всё можно будет изменить в любом месте:
я еще не волшебник :((,
я еще только учусь
---
Олег.



 
Logo   (2002-01-18 14:20) [5]

Попробуй на Minimize поставь
ShowWindow(Application.Handle,sw_hide)
у меня так работает


 
Oleg Fomicheff   (2002-01-18 14:33) [6]

я дико извиняюсь, а как это "поставить на minimize"?
это свйоство чего?
у form я такого свойства не нашел :(((


 
IronHawk   (2002-01-18 14:45) [7]

>>> if Application.minimized then ShowWindow(Application.Handle,sw_hide);

ПОНЯЛ !


 
Logo   (2002-01-18 15:24) [8]

У меня так работает!
procedure TForm1.FormCreate(Sender: TObject);
begin
....
Application.OnMinimize:=myPMinimize;
....
end;

procedure TForm1.myPMinimize(Sender: TObject);
begin
....
ShowWindow(Application.Handle,sw_hide);
....
end;



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2002.02.04;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.006 c
1-8830
ТеньЛуны
2002-01-15 11:14
2002.02.04
Пару дней назад...


4-9028
fag2000@ok.ru
2001-12-07 12:44
2002.02.04
Как удалить OLE объект во время выполнения его метода


1-8916
Лана Розанова
2002-01-17 15:39
2002.02.04
Memo


1-8888
tormoz
2002-01-16 21:19
2002.02.04
Как добавить определённую иконку в SysImageList?


1-8915
Galy
2002-01-17 13:30
2002.02.04
Возможно ли в D5 создать программно компонент(н-р, SHAPE)?





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