![]() |
Re: Komponenten in TurboDelphi (Win32) verwenden
Hallo,
ich habe das Tutorial mit der Komponente CoolTrayIcon ausprobiert und soweit auch hinbekommen. sieht etwa so aus:
Delphi-Quellcode:
jetzt hab ich das problem das mein icon auf das ereignis "on click" reagieren muß (da muß dann MeinIcon.ShowMainForm; rein)
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, CoolTrayIcon, StdCtrls; type TForm1 = class(TForm) Button1: TButton; procedure FormCreate(Sender: TObject); private { Private-Deklarationen } MeinIcon : TCoolTrayIcon; public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin MeinIcon := TCoolTrayIcon.Create(self); //also hier wird dann die Instanz geboren MeinIcon.MinimizeToTray:=true; // und hier werden Eigenschaften vergeben MeinIcon.Hint:='Mein Icon'; MeinIcon.Icon.LoadFromFile('G:\Icons\temp.ico'); MeinIcon.Enabled:=true; end; aber ich komme ja an das Ereignis "On Click" nicht dran, weil ich keinen Objektinspektor habe... Meine Frage ist also, wie ich an die Ereignisse von Drittkomponenten herankomme, ohne Objektinspector. Ach ja, ich bin Anfänger und würde mich über leicht verständliche Antworten sehr freuen! Danke! Nelphin |
Re: Komponenten in TurboDelphi (Win32) verwenden
Dazu kannst du ein eigenes Ereignis definieren und dies mit dem "OnClick"-Ereignis der Komponente verknüpfen. Dir Procedure, die du erstellst, muss die gleichen Paramter haben. Bei einem OnClick müsste das nur "Sender : TObject" sein:
Delphi-Quellcode:
Beim OnCreate:
private // des Formulars
procedure OwnClick(Sender : TObject);
Delphi-Quellcode:
Und dann halt noch
MeinIcon.OnClick := OwnClick; // Zuweisung des Ereignisses
Delphi-Quellcode:
(ungetestet, sollte gehen ;-) )
procedure TForm1.OwnClick(Sender : TObject);
begin // der Code für das OnClick-Ereignis end; MFG Patti Edit: kleine Anpassungen... |
Re: Komponenten in TurboDelphi (Win32) verwenden
vielen Dank!!!!
hat geklappt! :dp: |
Re: Komponenten in TurboDelphi (Win32) verwenden
Kein Problem ;-)
Der Vollständigkeit halber sollte vielleicht noch erwähnt werden, dass du deine per Hand erstellte Instanz der Komponente beim OnDestroy der Form wieder freigeben solltest (z.B. mit .Free). Dank der Speicherverwaltung etc. von Windows wäre das wohl nicht unbedingt notwendig, aber besser (weil "sauberer") ist es trotzdem, wenn du sie wieder freigibst. Patti |
Re: Komponenten in TurboDelphi (Win32) verwenden
Zitat:
Delphi-Quellcode:
Das Self ist hier seine Form und somit gibt er diese als Owner an
TCoolTrayIcon.Create(self)
und der Owner kümmert sich auch um die Freigabe aller seiner Kinder. Wenn sie von TComponent abgeleitet sind, denn diese Komponenten tragen sich in die Components-Liste ihres Owners ein und beim .Destroy arbeitet dieser seine Liste ab und gibt alle dort registrierten Objekte mit frei. |
AW: Komponenten in TurboDelphi (Win32) verwenden
komisch ich kann in turbodelphi komponenten installieren aber es klappt nicht immer
|
AW: Komponenten in TurboDelphi (Win32) verwenden
Das kann nicht sein, TurboDelphi hat keine Importfunktion für Komponenten.
Außerdem solltest du auf die Aktualität des Threads achten! Der ist schließlich fast 1,5 Jahre alt! |
AW: Komponenten in TurboDelphi (Win32) verwenden
Über die dclusr kann man heute wie auch damals weiterhin problemlos Komponenten in die IDE integrieren.
|
AW: Komponenten in TurboDelphi (Win32) verwenden
Die allererste TDE-Version hatte einen "Fehler", wodurch sowas angeblich doch gehn sollte.
Offiziell ist es eben "nicht erlaubt" ... es war halt eine der Beschränkungen, aber dafür war's eben kostenlos. |
AW: Komponenten in TurboDelphi (Win32) verwenden
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:47 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