Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Ta bort systrayikon via min komponent

Postades av 2003-02-21 00:48:37 - Björn Johansson, i forum delphi, Tråden har 1 Kommentarer och lästs av 1157 personer

Hej..

Jag håller på med en komponent som ska lägga till en icon i systray och sånt.
Och har lyckats att lägga till en icon via min komponent.

Nu vill jag ta bort den när man klickar på den, vilket jag inte får till.

min senaste kod är:
<code>
unit sysIcong;

interface

uses
Windows, Messages, SysUtils, Classes,ShellApi,Menus;
const WM_ICONTRAY = WM_USER + 1;
type
TsysIcong = class(Tcomponent)
private
TrayIcon : TNotifyIconData;
popup1:TPopupMenu;
procedure TrayMessage(var Msg: TMessage); message WM_ICONTRAY;
protected
public
procedure Add(icon: HICON;tooltiptext:string;hwnd:Thandle;popupmeny:TPopupMenu);
published
end;

procedure Register;

implementation

procedure Register;
begin
RegisterComponents('bjs', [TsysIcong]);
end;

{ TsysIcong }

procedure TsysIcong.Add(icon: HICON; tooltiptext:string;hwnd:Thandle;popupmeny:TPopupMenu);
begin
//...
end;


procedure TsysIcong.TrayMessage(var Msg: TMessage);
begin
case Msg.lParam of
WM_LBUTTONDOWN:
begin
Shell_NotifyIcon(NIM_DELETE,@TrayIcon);
end;
end;
end;

end.

</code>


förstår inte riktigt varför den inte vill funka...=/

/bj



Svara

Sv: Ta bort systrayikon via min komponent

Postades av 2003-02-22 00:25:04 - Björn Johansson

Löste det med lite subclassning.
och med hjälp från ett annat forum...

problemet var att Form1 aldrig fick tag i händelsen vilket gjorde att man var tvugen att subclass..

All min kod:
<code>
unit sysIcong;

interface

uses
Windows, Messages, SysUtils, Classes,ShellApi,Menus,Graphics;
const WM_ICONTRAY = WM_USER + 1;
type
TsysIcong = class(Tcomponent)
private
TrayIcon : TNotifyIconData;
popup1:TPopupMenu;
NewWndProc,OldWndProc:pointer;
sHwnd:Thandle;
protected
public
procedure TrayMessage(var Msg: TMessage); message WM_ICONTRAY;
procedure Add(icon: HICON;tooltiptext:string;hwnd:Thandle;popupmeny:TPopupMenu);
published
end;

procedure Register;

implementation

procedure Register;
begin
RegisterComponents('bjs', [TsysIcong]);
end;

{ TsysIcong }

procedure TsysIcong.Add(icon: HICON; tooltiptext:string;hwnd:Thandle;popupmeny:TPopupMenu);
begin
NewWndProc := MakeObjectInstance(TrayMessage);
OldWndProc := Pointer(SetWindowLong(hwnd, GWL_WndProc, Integer(NewWndProc)));
Trayicon.cbSize := SizeOf(TNotifyIconData);
Trayicon.Wnd := hwnd;
StrLCopy(Trayicon.szTip, PChar(tooltiptext), 64);
Trayicon.uID := 1;
TrayIcon.hIcon := icon;
TrayIcon.uCallbackMessage := WM_ICONTRAY;
Trayicon.uFlags := NIF_MESSAGE or NIF_ICON or NIF_TIP;
Shell_NotifyIcon(NIM_ADD,@trayicon);
popup1 := popupmeny;
shwnd := hwnd;
end;


procedure TsysIcong.TrayMessage(var Msg: TMessage);
begin
case Msg.lParam of
WM_LBUTTONDOWN:
begin
Shell_NotifyIcon(NIM_DELETE,@TrayIcon);
end;
end;
Msg.Result := CallWindowProc(OldWndProc,
sHwnd, Msg.Msg, Msg.WParam, Msg.LParam);
end;

end.
</code>


Svara

Nyligen

  • 14:24 CBD regelbundet?
  • 14:23 CBD regelbundet?
  • 14:22 Har du märkt några verkliga fördel
  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 615
27 953
271 709
303
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies