Thema: Delphi Tedit disabled

Einzelnen Beitrag anzeigen

neolithos

Registriert seit: 31. Jul 2003
Ort: Dresden
1.386 Beiträge
 
Delphi 7 Architect
 
#6

Re: Tedit disabled

  Alt 12. Aug 2003, 15:14
Erstmal Entschuldigung!

Noch eine Variante ohne das man gleich ein neues Control erzeugen muss! Hab ich selbst aber leider noch nicht getestet!


Es gibt eine VCL-Nachricht namens CM_ENABLEDCHANGED, welche intern in SetEnabled abgeschickt wird.

Man muss sich nur an den Message-Handler des Edit-Controls anhängen.

Delphi-Quellcode:
TMyForm = class(...
  ...
  private
    pOldEdProc : TWndMethod;
    procedure EdProc(var Message: TMessage);
  
procedure TMyForm.FormCreate(...);
begin
  ...
  pOldEdProc := txtEd.WindowProc;
  txtEd.WindowProc := EdProc;
  ...
end;

procedure TMyForm.EdProc(var Message: TMessage);
begin
  pOldEdProc(Message); // andere Hacken unterstützen
  with Message do
    case Msg of
         CM_ENABLEDCHANGED:
           if txtEd.Enabled then
              ...
           else
              ...;
    end;
end;
Frage an den Moderator: Kann man nicht so was (ganz allgemein gehalten)als FAQ oder Source-Code ablegen?
- ciao neo -
Es gibt niemals dumme Fragen, sondern nur dumme Antworten!
  Mit Zitat antworten Zitat