![]() |
Re: TImage um Eigenschaften und Ereignissen erweitern
Du kannst einem oder mehreren Images jetzt das gewünschte Verhalten beibringen. Da wo du keine Routine an OnMouseEnter() zuweist, da verhält sich das Image dann so wie gehabt. Jetzt klarer?
Delphi-Quellcode:
marabu
procedure TMainForm.ImageMouseEnter(Sender: TObject);
begin // hier dein Code end; procedure TMainForm.ButtonClick(Sender: TObject); var bi: TBetterImage; begin bi := TBetterImage.Create(self); bi.OnMouseEnter := ImageMouseEnter; end; |
Re: TImage um Eigenschaften und Ereignissen erweitern
funktioniert bei mir leider net so ganz....
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var BImage :TBetterImage; begin BImage := TBetterImage.Create(self); BImage.OnMouseEnter := ImageMouseEnter; BImage.OnMouseLeave := ImageMouseLeave; Hintergrund.Picture.LoadFromFile(extractfilepath(paramstr(0))+'back.jpg'); close_btn_img.SetBounds(0, 225, 210, 60); close_btn_img.Picture.LoadFromFile(extractfilepath(paramstr(0))+'button.jpg'); end; procedure TForm1.ImageMouseEnter(Sender: TObject); begin close_btn_img.Picture.LoadFromFile(extractfilepath(paramstr(0))+'buttonB.jpg'); end; procedure TForm1.ImageMouseLeave(Sender: TObject); begin close_btn_img.Picture.LoadFromFile(extractfilepath(paramstr(0))+'button.jpg'); end; procedure TForm1.close_btnClick(Sender: TObject); begin form1.Close; end; nochmal eben editiert, weil Images nicht erkennbar ! |
Re: TImage um Eigenschaften und Ereignissen erweitern
Als erstes vergisst du das Image und leitest deine Komponente am besten von TWinControl ab. Das hat die ganzen Events nämlich schon.
|
Re: TImage um Eigenschaften und Ereignissen erweitern
Zitat:
close_btn_img: TImage; |
Re: TImage um Eigenschaften und Ereignissen erweitern
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo bluescreen,
schau dir einmal diese Demo an. Freundliche Grüße vom marabu |
Re: TImage um Eigenschaften und Ereignissen erweitern
Hmm das funktioniert, doch ich suchte eigendliche eine globalere Lösung, deshalb hatte ich versucht es auf ein in der VCL erstelltes Image zu beziehen. Deshalb funktionierte meines nicht.
Das wird ja eine Menge Code für jeden Button werden.... Leider kann ich jetzt nicht mehr die Vorzüge der VCL nutzen um die anderen Eigenschaften und Ereignisse zu setzen. Vielen Dank !
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin Hintergrund.Picture.LoadFromFile(extractfilepath(paramstr(0))+'back.jpg'); img := TBetterImage.Create(self); with img do begin Parent := self; //<--- was steckt dahinter? ohne dem kein Image sichtbar ! SetBounds(0, 225, 210, 60); OnMouseEnter := ImageMouseEnter; OnMouseLeave := ImageMouseLeave; Picture.LoadFromFile(extractfilepath(paramstr(0))+'button.jpg'); end; end; procedure TForm1.ImageMouseEnter(Sender: TObject); begin img.Picture.LoadFromFile(extractfilepath(paramstr(0))+'buttonB.jpg'); end; procedure TForm1.ImageMouseLeave(Sender: TObject); begin img.Picture.LoadFromFile(extractfilepath(paramstr(0))+'button.jpg'); end; |
Re: TImage um Eigenschaften und Ereignissen erweitern
Liste der Anhänge anzeigen (Anzahl: 2)
Im anhang ist mal ein Beispiel wie man das ganze macht damit es für die auf das Formular gepackten TImages funktioniert (gibt da noch eine andere Variante bei der man die abgeleitete Komponente in eine extra Unit packt).
[Edit]Bei der Variante mit Auslagerung in eine seperate Unit muss man darauf achten das diese seperate Unit hinter der eigentlichen Unit (ExtCtrls) in den Uses aufgeführt wird.[/Edit] |
Re: TImage um Eigenschaften und Ereignissen erweitern
Zitat:
Da kann ich nur sagen : :thumb: Großen Dank an euch beiden für die Mühe! Das hätte ich nie hinbekommen, aber hier kann ich die Zusammenhänge mir mal einprägen. Gruß aus Geldern |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:13 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