AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Tray Icon Symbol ändern.

Ein Thema von FLINKER_FINGER · begonnen am 2. Feb 2008 · letzter Beitrag vom 4. Feb 2008
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von bitsetter
bitsetter

Registriert seit: 17. Jan 2007
1.169 Beiträge
 
Turbo Delphi für Win32
 
#11

Re: Tray Icon Symbol ändern.

  Alt 2. Feb 2008, 14:16
Hallo,

so eine kleine Temperaturanzeige habe ich auch mal geschrieben.
Kleiner Auszug daraus:
Delphi-Quellcode:
...
  FBmpTemp.Width:= 16;
  FBmpTemp.Height:= FBmpTemp.Width;
...

procedure TMForm.DrawBmp(Text : AnsiString);
begin
  Text:= Format('%s°', [Text]);
  FBmpTemp.Canvas.TextOut((FBmpTemp.width - FBmpTemp.Canvas.TextWidth(Text)) div 2,
    (FBmpTemp.Height - FBmpTemp.Canvas.TextHeight(Text)) div 2, Text);
  FImageList.Clear;
  FImageList.AddMasked(FBmpTemp, clWhite);
  FImageList.GetIcon(0, FIcon);
end;

...
  FGet_CPUBoardValue(addr(Value));
  DrawBmp(inttostr(Value));
  IconData.hIcon := FIcon.Handle;
  Shell_NotifyIcon(NIM_MODIFY, @IconData);
...
Gruß bitsetter
"Viele Wege führen nach Rom"
Wolfgang Mocker (geb. 1954), dt. Satiriker und Aphoristiker
  Mit Zitat antworten Zitat
FLINKER_FINGER

Registriert seit: 29. Apr 2004
Ort: Berlin
131 Beiträge
 
#12

Re: Tray Icon Symbol ändern.

  Alt 2. Feb 2008, 14:56
Hey danke für den Code ! =)

Aber ich kann noch immer das Icon nicht ändern ...

Was ist denn nur falsch an dem Code
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var fIcon: TIcon;
Begin
 ficon.LoadFromFile(extractfilepath(application.exename) + '63.ico');
 icondata.hIcon := ficon.Handle;
 Shell_NotifyIcon(NIM_MODIFY, @icondata);
end;
Ich bekomme immer eine Access violation ...
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#13

Re: Tray Icon Symbol ändern.

  Alt 2. Feb 2008, 14:58
Fehlt da nicht ein Create?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
FLINKER_FINGER

Registriert seit: 29. Apr 2004
Ort: Berlin
131 Beiträge
 
#14

Re: Tray Icon Symbol ändern.

  Alt 2. Feb 2008, 15:03
Das hatte ich auch schon vermutet, aber es bringt die gleiche Fehlermeldung...

Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var fIcon: TIcon;
Begin
 ficon.Create;
 ficon.LoadFromFile(extractfilepath(application.exename) + '63.ico');
 icondata.hIcon := ficon.Handle;
 Shell_NotifyIcon(NIM_MODIFY, @icondata);
end;
Allerdings kommt auch ein Warnung: Variable 'fIcon' might not have been initialized
Habe ich da irgendwas falsch gemacht ?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#15

Re: Tray Icon Symbol ändern.

  Alt 2. Feb 2008, 15:04
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var fIcon: TIcon;
Begin
  fIcon := Ticon.Create;
  try
    ficon.LoadFromFile(extractfilepath(application.exename) + '63.ico');
    icondata.hIcon := ficon.Handle;
    Shell_NotifyIcon(NIM_MODIFY, @icondata);
  finally
    fIcon.Free;
  end;
end;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
FLINKER_FINGER

Registriert seit: 29. Apr 2004
Ort: Berlin
131 Beiträge
 
#16

Re: Tray Icon Symbol ändern.

  Alt 2. Feb 2008, 15:07
Jetzt gehts =) danke !!
  Mit Zitat antworten Zitat
FLINKER_FINGER

Registriert seit: 29. Apr 2004
Ort: Berlin
131 Beiträge
 
#17

Re: Tray Icon Symbol ändern.

  Alt 2. Feb 2008, 17:43
Habe es jetzt auch geschaft das icon dynamisch zu erstellen.
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
var zehner,einer : integer;
    temp: cardinal;
    szahl : STring;
    erstellticon : TIcon;
begin
  temp :=GetGpuTemp; // gibt den Temperaturwert zurück;

  if temp > 100 then temp := temp - 100;

  szahl := inttostr(temp);
  zehner := strtoint(szahl[1]);
  einer := strtoint(szahl[2]);

  imagelist1.GetBitmap(zehner,image1.Picture.Bitmap); // Hier sind 10 Bilder (drin von 0 - 9)
  imagelist1.GetBitmap(einer,image2.Picture.Bitmap);


  BufferBox.Canvas.CopyMode := cmSrcCopy;
  BufferBox.Canvas.CopyRect(rect(0,0,16,32), image1.Canvas, rect(0,0,16,32));
  BufferBox.Canvas.CopyRect(rect(16,0,32,32), image2.Canvas, rect(0,0,16,32));

  ViewingBox.Canvas.CopyMode := cmSrcCopy;
  ViewingBox.Canvas.CopyRect(rect(0,0,32,32), BufferBox.Canvas, rect(0,0,32,32));

  erstellticon:=CreateIconFromBmp(Viewingbox.Picture.Bitmap);
  icondata.hIcon := erstellticon.Handle;
  Shell_NotifyIcon(NIM_MODIFY, @icondata);
end;
Hoffe irgendwer kann das gebrauchen
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#18

Re: Tray Icon Symbol ändern.

  Alt 2. Feb 2008, 17:53
Du solltest erstellticon noch freigeben. Ansonsten ist das ziemlich genau das, was ich gemeint hatte
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
FLINKER_FINGER

Registriert seit: 29. Apr 2004
Ort: Berlin
131 Beiträge
 
#19

Re: Tray Icon Symbol ändern.

  Alt 4. Feb 2008, 11:25
hmm wenn ich am Ende dieser Procedure erstellticon.free setzte, dann wird beim nächstem Minimieren das icon in der Tastkab nicht mehr angezeigt...
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#20

Re: Tray Icon Symbol ändern.

  Alt 4. Feb 2008, 12:16
Ich vermute mal, dass CreateIconFromBmp eine benutzerdefinierte (selbstgeschriebene) Prozedur ist. Du könntest diese doch dahingehend ändern, dass Du das Icon als Parameter übergibst. Somit sparst Du Dir das ständige Neuerstellen und Zuweisen des Handles. Das könnte dann etwa so aussehen:
Delphi-Quellcode:
//erstellticon ist meinetwegen jetzt ein privates Feld
if not Assigned(erstellticon) then
  begin
    erstellticon := TIcon.Create;
    icondata.hIcon := erstellticon.Handle;
  end;
CreateIconFromBmp(Viewingbox.Picture.Bitmap, erstellticon);
Shell_NotifyIcon(NIM_MODIFY, @icondata);
Getippt und nicht getestet (frei nach marabu )
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:25 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz