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 1174 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

  • 18:37 Remove the bumper in AUDI
  • 15:35 Chicken road crash game
  • 21:41 Automotive Services UK
  • 20:44 Erfarenhet av CBD-olja mot sömnpro
  • 12:13 Sex Dolls for Sale
  • 19:42 Online Casinos for Haitian Players
  • 19:38 Rekommendera något intressant
  • 19:13 Международная перевозка грузов

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 570 889
27 965
271 778
705
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