AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi TImage um Eigenschaften und Ereignissen erweitern
Thema durchsuchen
Ansicht
Themen-Optionen

TImage um Eigenschaften und Ereignissen erweitern

Ein Thema von bluescreen25 · begonnen am 8. Jan 2006 · letzter Beitrag vom 9. Jan 2006
Antwort Antwort
Seite 2 von 2     12   
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#11

Re: TImage um Eigenschaften und Ereignissen erweitern

  Alt 9. Jan 2006, 19:16
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:
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;
marabu
  Mit Zitat antworten Zitat
bluescreen25

Registriert seit: 27. Nov 2005
Ort: Geldern
229 Beiträge
 
Delphi 7 Enterprise
 
#12

Re: TImage um Eigenschaften und Ereignissen erweitern

  Alt 9. Jan 2006, 19:50
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 !
  Mit Zitat antworten Zitat
ichbins

Registriert seit: 9. Jul 2005
Ort: Hohenaltheim
1.001 Beiträge
 
Delphi 2005 Personal
 
#13

Re: TImage um Eigenschaften und Ereignissen erweitern

  Alt 9. Jan 2006, 19:52
Als erstes vergisst du das Image und leitest deine Komponente am besten von TWinControl ab. Das hat die ganzen Events nämlich schon.
Michael Enßlin
Ich, der ich weiß, mir einzubilden, dass ich weiß, nichts zu wissen, weiß, dass ich nichts weiß.
Sokrates
  Mit Zitat antworten Zitat
bluescreen25

Registriert seit: 27. Nov 2005
Ort: Geldern
229 Beiträge
 
Delphi 7 Enterprise
 
#14

Re: TImage um Eigenschaften und Ereignissen erweitern

  Alt 9. Jan 2006, 19:57
Zitat von ichbins:
Als erstes vergisst du das Image und leitest deine Komponente am besten von TWinControl ab. Das hat die ganzen Events nämlich schon.
Hintergrund: TImage;
close_btn_img: TImage;
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#15

Re: TImage um Eigenschaften und Ereignissen erweitern

  Alt 9. Jan 2006, 20:48
Hallo bluescreen,

schau dir einmal diese Demo an.

Freundliche Grüße vom marabu
Angehängte Dateien
Dateityp: zip imgex_118.zip (2,1 KB, 14x aufgerufen)
  Mit Zitat antworten Zitat
bluescreen25

Registriert seit: 27. Nov 2005
Ort: Geldern
229 Beiträge
 
Delphi 7 Enterprise
 
#16

Re: TImage um Eigenschaften und Ereignissen erweitern

  Alt 9. Jan 2006, 21:55
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;
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

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

Re: TImage um Eigenschaften und Ereignissen erweitern

  Alt 9. Jan 2006, 22:13
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]
Angehängte Dateien
Dateityp: zip timagemithover_109.zip (3,5 KB, 13x aufgerufen)
Dateityp: zip timagemithover_142.zip (2,2 KB, 14x aufgerufen)
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
bluescreen25

Registriert seit: 27. Nov 2005
Ort: Geldern
229 Beiträge
 
Delphi 7 Enterprise
 
#18

Re: TImage um Eigenschaften und Ereignissen erweitern

  Alt 9. Jan 2006, 22:35
Zitat von SirThornberry:
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]
Das ist ja genau die Erweiterung von marabus Beispiel in Kombination mit der VCL.
Da kann ich nur sagen :

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
  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 21:09 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