AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Was überschreiben beim TEdit?

Ein Thema von guidobrose · begonnen am 5. Jun 2007 · letzter Beitrag vom 5. Jun 2007
Antwort Antwort
guidobrose
(Gast)

n/a Beiträge
 
#1

Was überschreiben beim TEdit?

  Alt 5. Jun 2007, 09:43
Hallo,

ich habe mal wieder etwas ganz banales für euch...

Ich schreibe mir eine kleine Erweiterung für TEdit (Angehängtes Label mit ein paar optischen Verschönerungen). Um das Ganze jetzt perfekt zu machen, hätte ich gerne noch das erstens abhängig von Edit.Enabled das Label die Farbe ändert und zweitens wenn Edit.Focused die Farbe des Editfeldes geändert wird. Im Prinzip recht einfach, wenn man weiß, welche Methoden man überschreiben muss. Aber welche?

Delphi-Quellcode:
  TXTEdit = class(TEdit)
  private
    FLabeled: Boolean;
    FCaption: TCaption;
    FLabel: TXTEditLabel;
    procedure SetLabeled(Value: Boolean);
    procedure SetCaption(Value: TCaption);
  public
    constructor Create(AOwner: TComponent; AParent: TWinControl);
    property Labeled: Boolean read FLabeled write SetLabeled;
    property Caption: TCaption read FCaption write SetCaption;

  end;
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

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

Re: Was überschreiben beim TEdit?

  Alt 5. Jun 2007, 10:09
Welche Delphiversion hast du? Hast du schon den Quelltext von TCustomEdit angeschaut?
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
guidobrose
(Gast)

n/a Beiträge
 
#3

Re: Was überschreiben beim TEdit?

  Alt 5. Jun 2007, 10:29
Ich verwende Turbo Delphi Explorer, die Komponente wird also nicht visuell...

Ich habe mir die Deklarationen schon mal angeschaut. Wäre DoEnter und DoExit von TWinControl evtl. die richtige Stelle für die Farbänderung solbald das Edit den Focus bekommt?
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

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

Re: Was überschreiben beim TEdit?

  Alt 5. Jun 2007, 11:03
ich könnte jetzt ja oder nein sagen aber das würde dir nur in dem Fall helfen.
1.) Hier eine Herangehensweise an das ganze. Schalte in den Projektoptionen DebugDCUs an.
2.) weise einem Edit ein OnEnter zu und setze darin einen Haltepunkt.
3.) Starte das Programm, entere das Edit und das Programm sollte am Haltepunkt stehen bleiben
4.) Schau dir den Call-Stack an (View->Debug Windows->Call Stack). Prüfe welche von den dortigen Methoden virtuell/dynamic sind und überschrieben werden können.

Resultat für deinen Fall: DoEnter sollte die Methode sein welche du gesucht hast.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
guidobrose
(Gast)

n/a Beiträge
 
#5

Re: Was überschreiben beim TEdit?

  Alt 5. Jun 2007, 11:13
Danke für die dezenten Hinweise (ehrlich)!

Ich habe es mit DoEnter versucht, hat aber leider nicht hingehauen. Jetzt habe ich es mit CMEnter versucht und es klappt. CMEnabledChanged habe ich dabei auch gleich entdeckt und damit alle meine Probleme erschlagen.

Guido
  Mit Zitat antworten Zitat
Antwort Antwort


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 20:38 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