Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.02.04;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.004 c
1-8898
nikols
2002-01-16 17:13
2002.02.04
Как получить текст HTML у TWebBrowser?


1-8901
Ольга
2002-01-16 14:28
2002.02.04
Генератор паролей


3-8794
Godfather
2002-01-08 14:13
2002.02.04
Кодировка 1251 в BDE


3-8757
kopelev
2001-12-27 11:10
2002.02.04
Как переиндексировать dbf ?


1-8827
SelfDestructor
2002-01-18 19:53
2002.02.04
Как сделать страницу в PageControl невидимой





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