Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi [Class] OnEnter und OnExit überschreiben (https://www.delphipraxis.net/87323-%5Bclass%5D-onenter-und-onexit-ueberschreiben.html)

gsh 27. Feb 2007 08:36


[Class] OnEnter und OnExit überschreiben
 
Hi DPler

Ich hab in meinem Projekt überrall bei TEdits OnEnter und OnExit proceduren verstreut die alle eigentlich das gleiche machen:
Delphi-Quellcode:
procedure TfrmOptionen.DataEditEnter(Sender: TObject);
begin
  (Sender as TEdit).Color := cColors_EditSelect;
end;

procedure TfrmOptionen.DataEditExit(Sender: TObject);
begin
  (Sender as TEdit).Color := cColors_EditNormal;
  SendMessage((Sender as TEdit).Handle, WM_MOUSEMOVE, 0, 0);
end;
So jetzt hab ich mir gedacht das es vielleicht einfach ist wenn ich eine klasse TDataEdit = class(TEdit) schreibe. Nur hab ich keine Ahnung wie ich jetzt das OnEnter und OnExit Event überschreiben kann. Soviel hab ich:
Delphi-Quellcode:
type
  TDataEdit = class(TEdit)
  private
    procedure DataEditEnter(Sender: TObject);
    procedure DataEditExit(Sender: TObject);
  end;
So nur wie sag ich im jetzt das er das auch verwenden soll?

mkinzler 27. Feb 2007 08:53

Re: [Class] OnEnter und OnExit überschreiben
 
Du mußt die Methoden DoEnter und DoExit überschreiben

dataspider 27. Feb 2007 08:54

Re: [Class] OnEnter und OnExit überschreiben
 
Hi,

Delphi-Quellcode:
...
TMyEdit = class(TEdit)
protected
  procedure DoEnter; override;
  procedure DoExit; override;
end;
...

implementation

procedure TMyEdit.DoEnter;
begin
  inherited;
  // dein Code
end;

procedure TMyEdit.DoExit;
begin
  inherited;
  // dein Code
end;
Nur am Rande, für die Farbe setzen gibt es bessere Möglichkeiten...

Cu, Frank

gsh 27. Feb 2007 09:30

Re: [Class] OnEnter und OnExit überschreiben
 
thx dataspider ich werd gleich versuchen es einzubauen
Zitat:

Zitat von dataspider
Nur am Rande, für die Farbe setzen gibt es bessere Möglichkeiten...

Was wäre den eine bessere Lösung? Ich bin für Vorschläge offen :zwinker:

dataspider 27. Feb 2007 09:32

Re: [Class] OnEnter und OnExit überschreiben
 
Hi,

ActiveControlChange

Cu, Frank

gsh 27. Feb 2007 09:45

Re: [Class] OnEnter und OnExit überschreiben
 
hmm ich hab mir des ding ein bisschen angeschaut bin mir aber nicht sicher ob ich das bei mir einbauen will/kann

Des mit dem veränderten Edit geht eh nicht wirklich, weil sobald ich im Quelltext sage das das edit auf dem formular plötzlich ein TDataEdit statt ein TEdit sein soll dann zickt die IDE total rum ... hab sie dadurch auch zum absturz gebracht

mkinzler 27. Feb 2007 09:47

Re: [Class] OnEnter und OnExit überschreiben
 
Zitat:

Des mit dem veränderten Edit geht eh nicht wirklich, weil sobald ich im Quelltext sage das das edit auf dem formular plötzlich ein TDataEdit statt ein TEdit sein soll dann zickt die IDE total rum ... hab sie dadurch auch zum absturz gebracht
Das geht auch nicht! Du kannst ein Uno auch nicht als 911er benutzen, wenn du in 911 nennst.

gsh 27. Feb 2007 09:51

Re: [Class] OnEnter und OnExit überschreiben
 
Zitat:

Zitat von mkinzler
Zitat:

Des mit dem veränderten Edit geht eh nicht wirklich, weil sobald ich im Quelltext sage das das edit auf dem formular plötzlich ein TDataEdit statt ein TEdit sein soll dann zickt die IDE total rum ... hab sie dadurch auch zum absturz gebracht
Das geht auch nicht! Du kannst ein Uno auch nicht als 911er benutzen, wenn du in 911 nennst.

ja das hab ich eh schon befürchtet das das nicht geht :stupid:

dataspider 27. Feb 2007 10:01

Re: [Class] OnEnter und OnExit überschreiben
 
Hi,

irgendwie geht der Link oben nicht...

ich hatte vor Urzeiten mal ein Beispiel gemacht:

Beispiel

Vielleicht hilft es dir ja...

Frank

gsh 27. Feb 2007 10:06

Re: [Class] OnEnter und OnExit überschreiben
 
Das der Link oben nicht geht ist klar
Das ist nur ein Temporäres Suchergebnis mach es das nächste mal einfach so Hier im Forum suchenActiveControlChange

Ich bin gerade dabei die Unit anzupassen und in meinem projekt einzubinden
ich hab gerade vorallem das problem das fast alles die farbe annimmt ... z.b. der splash screen


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:22 Uhr.
Seite 1 von 2  1 2      

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