AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Mehrere Tray-Icons (ohne Komponente)
Thema durchsuchen
Ansicht
Themen-Optionen

Mehrere Tray-Icons (ohne Komponente)

Ein Thema von ManuMF · begonnen am 13. Mär 2006 · letzter Beitrag vom 13. Mär 2006
Antwort Antwort
Benutzerbild von ManuMF
ManuMF

Registriert seit: 11. Jul 2005
1.016 Beiträge
 
Delphi 6 Personal
 
#1

Mehrere Tray-Icons (ohne Komponente)

  Alt 13. Mär 2006, 20:24
Hallo,

ich möchte für mein Programm mehrere Icons im Tray anzeigen. Mit einem hat es bis jetzt prolemlos funktioniert. Ich möchte auch keine Komponente dafür verwenden, da ich mit mehreren Probleme hatte.

Der Code ist (abgewandelt) von DSDT.info:

Delphi-Quellcode:
procedure TaskBarAddIcon(TNID: TNotifyIconData; IIcon: TIcon; IInfo: String);
begin
  with TNID do
  begin
    cbSize := SizeOf(TNotifyIconData);
    Wnd := MainForm.Handle;
    uID := 1;
    uFlags := NIF_MESSAGE or NIF_ICON or NIF_TIP;
    uCallbackMessage := WM_TASKBAREVENT;
    hIcon := IIcon.Handle;
    StrCopy(szTip, PChar(IInfo));
  end;
  Shell_NotifyIcon(NIM_ADD, @TNID);
end;


procedure TaskBarRemoveIcon(TNID: TNotifyIconData);
begin
  Shell_NotifyIcon(NIM_DELETE, @TNID);
end;
Bisher habe ich TNID global deklariert.
var TNID: TNotifyIconData; Das hat gut geklappt. Also habe ich das duch folgendes ersetzt:
var Icon1, Icon2: TNotifyIconData; uns TNID stattdessen als Prozedur-Parameter eingefügt.

Wenn ich nun die Add-Funktion 2 mal ausführe (1. mit Icon1, 2. mit Icon2), wird nur das Icon1 angezeigt. Woran könnte das liegen?

Danke,
ManuMF

[Edit]Sorry, sollte eigentlich in Sonstiges zu Delphi[/edit]
Gruß,
ManuMF

Endlich hab ich was Positives an Vista entdeckt: Das mitgelieferte Mahjongg
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#2

Re: Mehrere Tray-Icons (ohne Komponente)

  Alt 13. Mär 2006, 20:41
Nutze eine unterschiedliche ID in der NOTIFYICONDATA Struktur....
  Mit Zitat antworten Zitat
Benutzerbild von ManuMF
ManuMF

Registriert seit: 11. Jul 2005
1.016 Beiträge
 
Delphi 6 Personal
 
#3

Re: Mehrere Tray-Icons (ohne Komponente)

  Alt 13. Mär 2006, 21:03
Hallo,

Das habe ich probiert, aber ohne Erfolg .

Ich habe mir jedoch eine eigene Komponente geschrieben, die diesen Code verwendet, und mit dieser funktioniert es wunderbar! Ich habe sie bisher nur nicht verwendet, da sie in einem anderen Projekt seltsamerweise immer eine Zugriffsverletzung erzeugte (habe ich auch hier geschildert).

Also, damit hat es sich erledigt.

Gruß,
ManuMF
Gruß,
ManuMF

Endlich hab ich was Positives an Vista entdeckt: Das mitgelieferte Mahjongg
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Mehrere Tray-Icons (ohne Komponente)

  Alt 13. Mär 2006, 21:21
aus irgend einem Grund wird in den meisten Beispielen eine Globale für die Traystrukutur genutzt. Ich würde einfach empfehlen eine Private-Variable daraus zu machen, und bei Nutzung verschiedener ID's gibt es auch keine Probleme zwei strukuren im Tray zu registrieren. Eventuell hast du ja in deinem Projekt der Methode zum Registrieren 2 mal die gleiche Struktur übergeben.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Antwort Antwort


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 10:34 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