Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Tutorials und Kurse (https://www.delphipraxis.net/36-tutorials-und-kurse/)
-   -   Delphi Tutorial: Wie verwende ich das CoolTrayIcon? (https://www.delphipraxis.net/31418-tutorial-wie-verwende-ich-das-cooltrayicon.html)

alcaeus 8. Okt 2004 21:31


Tutorial: Wie verwende ich das CoolTrayIcon?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Es gibt zwar ein Codestück in der Codelibrary, um ein Programm in die TNA zu bringen, ich persönlich finde die CoolTrayIcons viel geschickter.

Zuerst muss man sich das Komponentenpaket herunterladen, z.B. hier. Zur Installation werde ich hier nichts sagen, diese ist eigentlich in der readme-Datei gut genug beschrieben.

Nach der erfolgreichen Installation gibt es ein neues Tab in Delphi: Tray Icons. Dort sind zwei Komponenten zu finden. CoolTrayIcon und TextTrayIcon. Ich persönlich bevorzuge das CoolTrayIcon und werde hier ausschließlich dieses beschreiben.
Als erstes muss man sich ein CoolTrayIcon aufs Form ziehen. Im Objektinspektor können einige Einstellungen getroffen werden, zuerst aber zu den einfachen.
Das TrayIcon soll ja einzigartig sein, also sollte ein eigenes Logo vorhanden sein, und nicht das Standardlogo. Dazu gibt es mehrere Möglichkeiten:
  • Über die Eigenschaft "Icon" kann man ein Icon zuweisen, welches anschließend in der TNA angezeigt wird.
  • Man kann der Eigenschaft "IconList" eine ImageList zuweisen, und anschließend mit "IconIndex" auswählen, welches Item aus der ImageList angezeigt wird. Dieser Wert kann während der Laufzeit natürlich verändert werden.
  • Arbeitet man mit der ImageList, so können zwei weitere Eigenschaften von Bedeutung sein: Setzt man "CycleIcons" so wird das Icon regelmäßig gewechselt (in der Reihenfolge, wie die Images in der ImageList sind). Das Intervall, in welchem gewechselt wird, lässt sich über die Eigenschaft "CycleInterval" festlegen (in Millisekunden).

Sobald das Icon festgelegt ist, kann der Spaß eigentlich losgehen. Will man das TrayIcon anzeigen/ausblenden, so setzt man die "IconVisible"-Eigenschaft auf True bzw. False.

Es gibt noch einige weitere Eigenschaften, die teilweise wichtig sind:
  • Enabled: Wird diese Eigenschaft auf False gesetzt, so erhält das Icon keine Maus- bzw. Keyboardinputs.
  • Hint: Dieser Text wird angezeigt, wenn sich die Maus länger über dem Icon befindet. Die Länge des Texts ist auf 255 Zeichen begrenzt.
  • LeftPopup: Diese Eigenschaft ist normalerweise auf False. Wird sie auf True gesetzt, so öffnet sich das PopupMenu auch wenn mit der linken Maustaste auf das Icon geklickt wird.
  • MinimizeToTray: Wird diese Eigenschaft auf True gesetzt, so wird das Minimier-Verhalten des Forms beeinflusst. Anstatt das Form normal in die Taskleiste zu minimieren, wird das Icon angezeigt und das Form verschwindet komplett, so als ob es mit HideMainForm versteckt worden wäre.
  • PopupMenu: Dem TrayIcon kann ein PopupMenu zugewiesen werden, welches mit einem Rechtsklick (bzw. Linksklick, s.o.) geöffnet werden kann. Ich empfehle die Verwendung eines PopupMenus, da das Icon ansonsten irgendwie seinen Sinn verliert.
  • WantEnterExitEvents: Diese Eigenschaft ist standardmäßig auf False gesetzt, und zwar aus gutem Grund. Ist sie True, so wird intern ein Timer aktiviert, der die MouseEnter bzw. MouseExit-Events an die Anwendung sendet.

So, aber genug der Theorie, jetzt kommt die Praxis.
Um also eine Anwendung zu bauen, die ein TrayIcon verwendet, brauchen wir folgendes: ein CoolTrayIcon, einen Button, und ein PopupMenu. Dem PopupMenu fügen wir zwei Items hinzu:
  • "Form anzeigen": der Code im OnClick dafür ist
    Delphi-Quellcode:
    CoolTrayIcon1.ShowMainForm;
  • "Anwendung beenden":
    Delphi-Quellcode:
    Close;
Dem Button weisen wir "Form ausblenden" als Caption zu, und im OnClick des Buttons schreiben wir
Delphi-Quellcode:
CoolTrayIcon1.HideMainForm;
Im OnCreate des Forms wird das TrayIcon angezeigt:
Delphi-Quellcode:
CoolTrayIcon1.IconVisible := True;
Und last but not least weisen wir der PopupMenu-Eigenschaft des TrayIcons noch PopupMenu1 zu.
Anschließend funktioniert euer erstes Programm mit dem TrayIcon (jedenfalls sollte es das).

Doch die Funktionalität des TrayIcons reicht viel weiter.
Zum Beispiel kann der Button in der Taskleiste entfernt werden: dazu fügen wir noch zwei Buttons hinzu:
  • Der erste Button bekommt die Caption "Taskbar-Button entfernen", und der Code im OnClick lautet
    Delphi-Quellcode:
    CoolTrayIcon1.HideTaskbarIcon;
    .
  • Der zweite Button erhält "Taskbar-Button anzeigen" als Caption, und der OnClick-Code ist
    Delphi-Quellcode:
    CoolTrayIcon1.ShowTaskbarIcon;
Anschließend funktioniert das Anzeigen/Entfernen des Buttons.

Ab Windows2000 gibt es auch die Möglichkeit, BalloonHints anzuzeigen. Auch dies wird vom CoolTrayIcon unterstützt. Dazu platzieren wir noch einen Button aufs Form, und geben ihm die Caption "BalloonHint anzeigen". Der Code im OnClick ist etwas komplizierter, ich poste ihn mal hier rein und erkläre ihn anschließend.
Delphi-Quellcode:
procedure TForm1.Button4Click(Sender: TObject);
var
  Titel, Text, sTimeout: String;
  Timeout: Integer;
begin
  if InputQuery('Titel', 'Titel eingeben:', Titel) and
     InputQuery('Text', 'Text eingeben:', Text) and
     InputQuery('Timeout', 'Timeout eingeben (in Sekunden):', sTimeout) then
  begin
    if TryStrToInt(sTimeOut, TimeOut) then
      CoolTrayIcon1.ShowBalloonHint(Titel, Text, bitInfo, TimeOut)
    else
      MessageDlg('Timeout ungültig', mtError, [mbOk], 0);
  end;
end;
Zuerst werden mit Hilfe des InputQueries die Informationen gesammelt: Titel, Text und ein TimeOut (in Sekunden). Wurde alles gültig eingegeben, so wird der BalloonHint mit Hilfe der Funktion "ShowBalloonHint" angezeigt. Die einzelnen Parameter der Funktion sind leicht erklärt:
  • Der Titel wird fett angezeigt, und darf höchstens 64 Zeichen lang sein.
  • Der Text darf maximal 255 Zeichen lang sein.
  • Der dritte Parameter ist vom Typ TBalloonHintIcon und bestimmt, welches Icon angezeigt wird. Als Werte sind bitNone, bitInfo, bitWarning und bitError definiert. Am Besten ihr probiert die einzelnen Werte aus.
  • Das Timeout kann zwischen 10 und 60 Sekunden betragen. Klickt der Benutzer auf den BalloonHint, so wird dieser geschlossen.
Für die BalloonHints gibt es noch zwei weiter wichtige Dinge: zuerst die Funktion HideBalloonHint, welcher einen evtl. angezeigten BalloonHint wieder ausblendet, und das OnBalloonHintClick-Ereignis. Wie der Name schon sagt, wird dieses Ereignis ausgelöst, wenn der Benutzer auf einen geöffneten BalloonHint klickt. Das Ereignis wird allerdings nicht ausgelöst, wenn der Benutzer den BalloonHint mit einem Klick auf das kleine x schließt.
So, damit wäre ich eigentlich am Ende angelangt. Eventuelle Fragen beantworte ich gerne. Und für alle, die zu faul waren, das Beispielprojekt selbst mitzuerstellen, füge ich es hier hinzu.

Greetz
alcaeus

[edit=fkerber]Neu abgespeichert wg. Code-Highlighting. Mfg, fkerber[/edit]

oschulz 29. Nov 2005 10:14

Re: Tutorial: Wie verwende ich das CoolTrayIcon?
 
Bei den Balloonevents zB OnBalloonHintClick sollte man noch erwähnen, das diese nur unter WINXP oder höher funktionieren.

taktaky 12. Aug 2007 12:27

Re: Tutorial: Wie verwende ich das CoolTrayIcon?
 
Hallo

sehr schöne Sachen :) aber kann man auch das Programm-Icon in Taskleiste animiren mit Texte oder Bilder?
Das Icon neben Computer-Uhr ist zuklein und kann man nicht viel Sachen machen.
Das Icon in Taskleiste ist grösser und kann man was drauf fantasieren

Ist es möglich?

bey

Die Muhkuh 12. Aug 2007 12:29

Re: Tutorial: Wie verwende ich das CoolTrayIcon?
 
Hi,

bei den JVCL gibt es eine Komponente, die genau das kann.

Aurelius 18. Okt 2007 20:57

Re: Tutorial: Wie verwende ich das CoolTrayIcon?
 
Kann mir zufällig einer sagen wie diese Komponente heißt? Im Full-Package der Jedis kann ichs aufgrund der Masse an Komponenten nicht finden :D

Matze 18. Okt 2007 21:01

Re: Tutorial: Wie verwende ich das CoolTrayIcon?
 
Moin,

sie heißt TJvTrayicon, wenn ich's recht in Erinnerung habe. ;)

Aurelius 19. Okt 2007 12:13

Re: Tutorial: Wie verwende ich das CoolTrayIcon?
 
Ach, die kann auch den Taskbar-Button verändern? Nicht gewusst!

Delphi-Laie 3. Apr 2008 00:37

Re: Tutorial: Wie verwende ich das CoolTrayIcon?
 
Hallo alcaeus, vielen Dank für Deine Mühe!

Meine Begeisterung für CoolTrayIcon hält sich jedoch (bisher) in sehr engen Grenzen. Ich würde gern ein Fenster minimiert starten (also daß es nach Programmstart gar nicht erst erscheint), angeblich soll das ja mit solchen TrayIcon-Komponenten möglich sein. Jedoch entpuppt sich das als Geheimwissenschaft. Weder das Ausprobieren von Cool-/TextTrayIcon noch von LMDTrayIcon, weder die Recherche in diesem noch im Delphi-forum.de-Forum haben mich diesbezüglich weitergebracht, und das inzwischen seit Tagen!!

Weißt Du, wie man das schafft?

Ich habe es nicht einmal geschafft, die Installationen von Cool-/TexttrayIcon in mehreren Delphi-Versionen fehlerfrei hinzubekommen, es ging nie ohne Compilermeckerei ab. Entweder wird bei der Programmierung geschludert, oder die Delphi-Installationen sind zu komplex, als daß diese ein determiniertes Verhalten an den Tag legen. Damit wird die Programmiererei an sich aber zunehmend fraglich. Oder es gibt andere Probleme, beispielhaft an D6: Die Installation des Packages verlief (fast) fehlerfrei (es fehlte nur eine Ressourcendatei, die er neu anlegte), jedoch findet der Compiler die DCUs nicht, obwohl er die beim Installieren angelegt hat (habe selbst nachgeschaut). Also manuell in das Lib-Verzeichnis rübergeschaufelt (blieben im Installationsverzeichnis). Was sind denn das für ein Delphi, das zu dämlich ist, sich die Kompilaten in den korrekten Ordner abzulegen?? Ist das nicht alles zum Verzweifeln? Ich bin sauer bis zum Anschlag und noch weit darüber hinaus...

Danke für Deine Aufmerksamkeit und Dein Bemühen!

Nette Grüße

Delphi-Laie

toms 3. Apr 2008 04:14

Re: Tutorial: Wie verwende ich das CoolTrayIcon?
 
Zitat:

Zitat von Delphi-Laie
Oder es gibt andere Probleme, beispielhaft an D6: Die Installation des Packages verlief (fast) fehlerfrei (es fehlte nur eine Ressourcendatei, die er neu anlegte), jedoch findet der Compiler die DCUs nicht, obwohl er die beim Installieren angelegt hat (habe selbst nachgeschaut). Also manuell in das Lib-Verzeichnis rübergeschaufelt (blieben im Installationsverzeichnis). Was sind denn das für ein Delphi, das zu dämlich ist, sich die Kompilaten in den korrekten Ordner abzulegen?? Ist das nicht alles zum Verzweifeln? Ich bin sauer bis zum Anschlag und noch weit darüber hinaus...

Hallo Delphi-Laie

Deinen Frust mit der CoolTrayIcon Komponenente kann ich nicht nachvollziehen.
Bei mir hat die Installation unter D6 und auch unter D2700 auf Anhieb funktioniert.

Frage: Hast du die Installationsanleitung (install.txt) beachtet?

Insbesondere Punkt 3:
Zitat:

3. You may need to add the folder containing the components to your library path
(select Tools -> Environment Options from the menu).
Zitat:

Zitat von Delphi-Laie
Ich würde gern ein Fenster minimiert starten (also daß es nach Programmstart gar nicht erst erscheint), angeblich soll das ja mit solchen TrayIcon-Komponenten möglich sein.
Weißt Du, wie man das schafft?

Ein Fenster minimiert oder vielmehr versteckt zu starten ist unabhängig von der
CoolTrayIcon Komponenente möglich. Da spielt diese Komponente überhaupt keine Rolle.

Es muss nur eine einzige Zeile in der dpr Datei hinzugefügt werden.

Delphi-Quellcode:
begin
  Application.ShowMainForm := False; // <-- Hauptform beim Start verstecken.
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.

Delphi-Laie 3. Apr 2008 08:39

Re: Tutorial: Wie verwende ich das CoolTrayIcon?
 
Hallo toms, vielen herzlichen Dank für Deine Antwort!

Nein, ich habe Punkt 3 in der Installationsanleitung nicht beachtet. Habe jetzt mal in meiner "Install.txt" nachgeschaut , dort steht (nur) folgendes
Zitat:

How to install the components
-----------------------------

*** YOU NEED TO INSTALL THE COMPONENTS BEFORE OPENING THE DEMOS IN DELPHI. ***


If you're running Delphi 5, 6, or 7:

1. Open CoolTrayIcon_D5.dpk (Delphi 5) or CoolTrayIcon_D6plus.dpk (Delphi 6
or above) either by doubleclicking the file or by selecting "Open Project"
inside Delphi. (CoolTrayIcon_D5.dpk may work for older Delphi versions
as well, but I don't know for sure. Please tell me if I'm right.)

2. Click Compile, then Install.

3. That's it. The components should be visible in the component palette
in a tab called "Tray Icons" (if older versions of the components were
already installed they may be found in "Custom").



If you're running other Delphi versions than ver. 5, 6, or 7:

1. Try the steps above with the CoolTrayIcon_D5.dpk file (it may work in
older versions of Delphi, but I don't know for sure. Please tell me).
If this doesn't work then do the following:

2. Select "Install Component" from the "Component" menu item (may vary
depending on your Delphi version).

3. A dialog displays where you must select the components to install and
the package to install into. I recommend creating a new package, if you
haven't already done so, rather than installing into the default package.

4. Browse for the RegisterTrayIcons.pas file and select OK.

5. That's it. The components should be visible in the component palette
in a tab called "Tray Icons" (if older versions of the components were
already installed they may be found in "Custom").



If you're running C++ Builder:

The required steps are the same as in Delphi, so just follow the steps above.

Alternatively, use this approach:

1. Select "New Component..." from the menu

2. In "Ancestor type", select "TTrayIcon [trayicon]"

3. In "Class Name", type "TCoolTrayIcon"

4. In "Palette Page", type "Tray Icons" (or another tab you want to install to)

5. In "Unit file name", select "RegisterTrayIcons.pas" (which is found in the
CoolTrayIcon package).

6. Click on the "Install" button.
Ich habe mir aber so etwas fast gedacht (ich kenne das noch von Turbo-Pascal). Ich habe dafür definitiv kein Verständnis, daß ich Installationspfade manuell nachtragen oder Dateien manuell in Verzeichnisse hinüberbewegen muß. Delphi habe ich in x Versionen, es wird soviel an diesem an sich hervorragenden Compiler rumgemacht, insofern verstehe ich nicht, daß man diesen Komfort dort mit einbauen kann. Das Problem hatte ich ja auch gelöst, das ist nicht der Schwerpunkt.

Zum minimierten Starten: Wie ich mit Cooltrayicon das erreiche, weiß ich leider immer noch nicht, dazu hattest Du Dich nicht geäußert. Die Anweisung Application.ShowMainForm := False; kenne ich durchaus, sie ist n.m.Erkenntnissen auch die einzige, mit der man minimiert starten kann. Hilft mir aber nicht weiter. Das Rumgemache am Projekt-Quelltext (warum wird der ab Delphi3 versteckt? führt leider ziemlich schnell zu Programmabstürzen (darum wohl das Verstecken) - dabei ist eine Projektdatei doch auch nur ein Programm mit eingelinkter Formularunit?! Ich möchte - als nächsten Schritt - diesen minimierten Programmstart bedingt, optional hinbekommen (nämlich dann, wenn ein Programm konfiguriert ist). Dazu müßte ich endlich mal herausfinden, wie man minimiert aufs TrayIcon startet.

Form1.visible:=false funktioniert bekanntermaßen ebensowenig wie Form1.hide, wenn es vom Ereignis Form1.Create aufgerufen wird (warum auch immer, ich weiß es bis heute nicht). Und ich frage mich, wie man das bei CoolTrayIcon und LMDIcon anders lösen will, aber das darf gern deren Geheimnis bleiben (Recherchen in den Quelltexten blieben erfolglos). Mir würde es schon reichen, wenn ich das hinbekäme.

Wenn Du oder jemand anders das weiß und mir helfen kann, bin ich sehr dankbar.

Vielen Dank für Deine Geduld und Mühe

Der leider extrem frustrierte

Delphi-Laie

Delphi-Laie 3. Apr 2008 08:49

Re: Tutorial: Wie verwende ich das CoolTrayIcon?
 
Zufällig (!) fand ich in der Datei convert_cti_projects.txt folgenden Passus

Zitat:

2) The StartMinimized property no longer exists. It has been replaced by the
OnStartup event. This event has a ShowMainForm parameter, which you set to
false if you don't want the main form to show when your app. starts.

The reason for this change is that StartMinimized only worked at design-time,
meaning you could not determine at run-time if you wanted to show the form
or not. With the change it is now possible to have a user option for this
in your app.

See the StartHidden demo for an example.
Klasse! Und ich rödele seit Tagen (!) an diesem Mist herum. Die Umweltbelastung, die allein ein solch sinnloser Stromverbrauch verursacht, können wir uns ja alle bestens leisten. Natürlich lese ich mir solche Dateien nicht durch, weil diese für gewöhnlich zu 99% aus Redundanz bestehen (will nicht ungerecht sein: das muß keinesfalls auf die Autoren von CoolTrayIcon zutreffen). Ich probiere erst einmal aus. Werde ich nicht fündig, besuche ich Foren. Daß an einer solch evidenten Eigenschaft rumgemacht wird, ist wohl Pech, daß ausgerechnet ich mal wieder einfing. Das nur zur Erklärung, wie ich darauf nicht kommen konnte.

Verändere nie ein funktionierendes System...

Vielleicht ist diese Veränderung sogar ja eine Verbesserung, das würde mich halbwegs trösten. Es liest sich in der Tat so, als könne die Minmierung optional, bedingt erfolgen, das wäre ja genau das, was ich benötige. Hoffentlich klappt es auch!!

Letztlich bin ich aber durch Dich darauf gekommen, deshalb meinen besten Dank an Dich!


Edit: Ich habe defnitiv eine neuere Version, in der die StartMinimized-Eigenschaft abgeschafft, dafür aber um eine Option, das Fenster sichtbar oder unsichtbar beim Start erscheinen zu lassen, erweitert wurde (wieder klasse, diesmal sogar nicht ironisch). Das funktioniert sogar bestens *glücklich*.

der_kumpel 3. Apr 2008 09:00

Re: Tutorial: Wie verwende ich das CoolTrayIcon?
 
Mal eine weiteres Problem:
Ist es möglich, auf das Taskbar-Icon einer minimierten Form eine Datei vom Windows Explorer (oder sonst woher) zu drag'n'droppen?

Habs mit dem normalen Drag'n'Drop Code versucht, bei dem es mit Forms etc. klappt, aber das Icon mag trotzdem nichts annehmen.

Jemand eine Idee?

toms 4. Apr 2008 18:07

Re: Tutorial: Wie verwende ich das CoolTrayIcon?
 
Zitat:

Zitat von der_kumpel
Mal eine weiteres Problem:
Ist es möglich, auf das Taskbar-Icon einer minimierten Form eine Datei vom Windows Explorer (oder sonst woher) zu drag'n'droppen?

Habs mit dem normalen Drag'n'Drop Code versucht, bei dem es mit Forms etc. klappt, aber das Icon mag trotzdem nichts annehmen.

Jemand eine Idee?

Hallo,

Bei www.codeproject.com gibt's einen Artikel darüber.
Ist zwar in C++ aber es gibt dir eine Idee, wie dies zu machen ist.

toms 7. Apr 2008 14:01

Re: Tutorial: Wie verwende ich das CoolTrayIcon?
 
@der_kumpel: Konntest du damit etwas anfangen?

der_kumpel 7. Apr 2008 15:15

Re: Tutorial: Wie verwende ich das CoolTrayIcon?
 
Oh, hatte deine Antwort gar nicht mitbekommen, danke.

Hab hier mal ein neues Thema eröffnet. ;)

SonicTTH 5. Sep 2009 16:48

Kleines, sehr merkwürdiges Problem
 
Es sei folgender quelltext gegeben:

Delphi-Quellcode:
procedure TFO_main.Button3Click(Sender: TObject);
begin
        Application.Minimize ;
end;

procedure TFO_main.LA_CTRL_remind_laterClick(Sender: TObject);
begin
        IF minimized = TRUE THEN BEGIN
                Button3Click(self) ;
        END ELSE BEGIN
                StartAnimation(97) ;
        END ;

end;
Wenn ich Button3 Anklicke dann wird die Hauptform Minimiert, der eintrag in der Taskbar verschwindet und es existiert nur noch das TrayIcon mit dem ich per klick meine Applikation wiederherstellen kann.

Wenn aber zweitere prozedur aufgerufen wird unter der bedingung dass minimized TRUE ist dann verschwindet das fenster für den bruchteil einer sekunde und taucht daraufhin sofort wieder auf. Das gleiche geschieht mit dem Taskbareintrag.

Wie kann das sein?

Es ist doch nichts anderes als den Button klicken zu lassen, oder?

Ich wäre für hilfe sehr dankbar :)

// Edit: Ich habe jetzt auch nochmal zum test einen weiteren button eingefügt der genau wie im Label onClick event die Prozedur Button3Click(self) aufruft und da funkionierts auch!

Meiner Schlussfolgerung nach könnte es jetzt nur noch daran liegen dass das irgendein problem mit dem aufrufen von einem label aus exisiteren könnte...

Fehlanzeige: Wenn ich ein Label einfüge dass im OnClick event Button3Click(self) macht dann funktionierts auch...

///////////

Okay jetz hab ichs: Das ganze geschah deshalb, weil ich mit dem spezifischem label LA_CTRL_remind_later eine prozedur verknüpft hatte die Den Font je nach onMouseEnter, onMouseExit, onMouseDown und onMouseUp veränderte damits wie ein button aussieht. Irgendwie muss das die minimierung des programms verhindert haben...

Muellermilchtrinker 15. Jan 2010 19:50

Re: Tutorial: Wie verwende ich das CoolTrayIcon?
 
Bei mir meckert er beim installieren er findet die Ressourcendatei VCL50 nicht.
Was soll ich jetzt machen???

ChEeTaH 16. Jan 2010 09:20

Re: Tutorial: Wie verwende ich das CoolTrayIcon?
 
Zitat:

Zitat von Muellermilchtrinker
Bei mir meckert er beim installieren er findet die Ressourcendatei VCL50 nicht.
Was soll ich jetzt machen???

Statt d5.dpk d6plus.dpk compilieren ;)

Delphi-Laie 16. Jan 2010 09:43

Re: Tutorial: Wie verwende ich das CoolTrayIcon?
 
Zitat:

Zitat von ChEeTaH
Zitat:

Zitat von Muellermilchtrinker
Bei mir meckert er beim installieren er findet die Ressourcendatei VCL50 nicht.
Was soll ich jetzt machen???

Statt d5.dpk d6plus.dpk compilieren ;)

CoolTrayIcon ist sogar bis hinunter zu Delphi 3 kompatibel und läßt sich dort als Komponente installieren und als KLasse/Objekte einbinden - einfach in der .dpk eine andere VCL-Nr. (die 3) angeben.

Muellermilchtrinker 16. Jan 2010 09:47

Re: Tutorial: Wie verwende ich das CoolTrayIcon?
 
Wenn ich die d6plus.dpk nehme bekomm ich folgende Errors:

Code:
[DCC Fehler] CoolTrayIcon.pas(1204): E2250 Es gibt keine überladene Version von 'StrLCopy', die man mit diesen Argumenten aufrufen kann
[DCC Fehler] CoolTrayIcon.pas(1280): E2250 Es gibt keine überladene Version von 'StrLCopy', die man mit diesen Argumenten aufrufen kann
[DCC Fehler] CoolTrayIcon.pas(1281): E2250 Es gibt keine überladene Version von 'StrLCopy', die man mit diesen Argumenten aufrufen kann
[DCC Fehler] CoolTrayIcon.pas(1308): E2010 Inkompatible Typen: 'AnsiChar' und 'PWideChar'
[DCC Fehler] CoolTrayIcon.pas(1312): E2010 Inkompatible Typen: 'AnsiChar' und 'Char'
[DCC Fataler Fehler] TextTrayIcon.pas(23): F2063 Verwendete Unit 'CoolTrayIcon.pas' kann nicht compiliert werden

toms 16. Jan 2010 09:58

Re: Tutorial: Wie verwende ich das CoolTrayIcon?
 
Nimm diese für D2009/D2010 angepasste Version: http://tib.s.songbeamer.eu/downloads/Cooltray.zip

isilive 17. Jan 2010 22:41

Re: Tutorial: Wie verwende ich das CoolTrayIcon?
 
Habe gerade TTrayicon verwendet, das seit Delphi2006 in der VCL mitgeliefert wird und bin eigentlich zufrieden. Es kann auch Animationen (über eine Imagelist), Balloontips und ein Popupmenü. Siehe Embarcadero-Seite

Blöde Frage, was spricht für CoolTrayIcon? Oder wurde das einfach schon vorher "erfunden"? :idea:

BUG 17. Jan 2010 22:43

Re: Tutorial: Wie verwende ich das CoolTrayIcon?
 
Zitat:

Zitat von isilive
Blöde Frage, was spricht für CoolTrayIcon? Oder wurde das einfach schon vorher "erfunden"? :idea:

Man kann es sogar unter Delphi 3 schon verwenden.

Delphi-Laie 18. Jan 2010 12:29

Re: Tutorial: Wie verwende ich das CoolTrayIcon?
 
Das mit der Delphi-3-Kompatibilität schrieb ich schon weiter oben, wenige Beiträge zuvor.

Zitat:

Zitat von isilive
Habe gerade TTrayicon verwendet, das seit Delphi2006 in der VCL mitgeliefert wird und bin eigentlich zufrieden. Es kann auch Animationen (über eine Imagelist), Balloontips und ein Popupmenü. Siehe Embarcadero-Seite

Wahnsinn! Da gibt es seit Windows 95 und NT 4.0 die Möglichkeit, Trayprogramme auszuführen (bzw. ausführen zu lassen), und die Softwarehäuser Borland und Inprise (auch CodeGear?) hatten es nicht nötig, dafür eine Programmiergrundlage mitzuliefern. Erst ein gutes Jahrzehnt (!) später taucht das endlich als Komponente(n) auf. Alle Achtung!


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:43 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz