TMaskEdit Problem



  • Hi.

    Ich habe ein TMaskEdit und wenn ich eine Eingabe mache, verändere ich die Schriftfarbe, so das man erkennt: "da ist eine Eingabe aktiv". Zum abschliessen möchte ich wie in meinen TEdits die Return-Taste benutzen und die Textfarbe zurücksetzen.

    Das Problem ist nun, das die Return-Taste scheinbar von TMaskEdit in OnKeyPress ignoriert wird.

    if (Key==VK_RETURN)
    

    In OnKeyUp funktioniert die Abfrage der Return-Taste. Ich möchte eigentlich nur wissen, ob man das auch in OnKeyPress zum laufen bekommt.



  • Hi,

    habs grad mit dem BCB 6 ausprobiert ... das funktioniert wunderbar ;)!

    im OnKeyPress-Event des TMaskEdit:

    MaskEdit1->Font->Color = clRed;
    if (Key == VK_RETURN)
    {
       MaskEdit1->Font->Color = clBlack;
    }
    

    mfg, Micha



  • Danke. Dann scheint das ein CBuilder5 Bug zu sein 😞



  • Oh, kein Bug. Im Original TMaskEdit klappts tatsächlich. Nutze nur eine "schönere" custom MaskEdit Komponente. Diese scheint den Bug zu haben. Gleicher Code im Original funzt. *stöhn* 🙄



  • Hallo,

    dann versuch es mal mit dem:

    MaskEdit1->Font->Color = clRed; 
    if (Key == char(13)) 
    { 
       MaskEdit1->Font->Color = clBlack; 
    }
    

    mfg, Micha



  • Es gab in der custom Komponente eine Funktion

    procedure XMaskEdit.WndProc(var Message: TMessage);
    

    wo

    WM_CHAR:
          begin
            if not (TWMKey(Message).CharCode in [VK_RETURN]) then
              inherited;
          end;
    

    ausgeklammert war. Warum auch immer. Habe mal die if Zeile auskommentiert und es geht 🤡

    Danke!


Anmelden zum Antworten