Eingabefeld ohne blinkenden Strich



  • Hast Recht, ganz hat mein vorheriger Vorschlag nicht gepasst.
    Anstatt auf EN_CHANGE und EN_SETFOCUS musst du auf WM_LBUTTONDOWN und EN_SETFOCUS reagieren.

    Hiermit sorgst du dafür, dass der "Cursor" nicht angezeigt wird, wenn du das Control mittels Tab anspringst.

    void CMyEdit::OnEnSetfocus()
    {
    	HideCaret();
    }
    

    Und hiermit für den Fall, dass du es anklickst.

    void CMyEdit::OnLButtonDown(UINT nFlags, CPoint point)
    {
    	CEdit::OnLButtonDown(nFlags, point);
    	HideCaret(); // Wichtig: HideCaret() hier (nach Default()) aufrufen
    }
    

    So funktioniert es bei mir.



  • vielen dank. werd ich gleich mal testen 🙂

    hmm ich bekomm da noch ne fehlermeldung.

    OnLButtonDown" : Kein Zugriff auf protected Element, dessen Deklaration in der Klasse "CWnd" erfolgte



  • kann mir bitte einer helfen ?

    ich schaffe es nicht den blinkenden cursor in einem editfeld zu verstecken.
    für nen funktionierenden link oder code wäre ich unheimlich dankbar.



  • Hast du dir eine eigene Klasse von CEdit abgeleitet?



  • nein.



  • Na dann versuch das doch mal, denn dann solltest du die Meldung "OnLButtonDown" : Kein Zugriff auf protected Element, dessen Deklaration in der Klasse "CWnd" erfolgte" nicht mehr bekommen. 🙂

    PS: Du musst dann für jedes Edit, das sich so verhalten soll, eine Controlvariable (CEdit) erstellen und dann den Typ auf deine eigene Klasse ändern.



  • HOWTO sagte da der anfänger. aber ich werd mich mal bemühen das hinzubekommen.

    danke für den tip



  • Es geht einfacher, als es sich im ersten Moment anhört.
    Fang einfach mal mit "neue Klasse" an und guck dann, was dir da erstellt wird. 🙂


  • Mod

    Firefighter2000 schrieb:

    Gibt es eine Möglichkeit ein Eingabefeld ohne den blinkenden Strich darzustellen ?

    Warum möchtest Du das denn? Ist doch ziemlich mies für den Anwender nicht zu seen, wo die Eingabemarke steht...



  • da gebe ich dir völlig recht. das entspricht natürlich nicht dem standard.
    es handelt sich hierbei um ein easteregg in meinem programm.

    ich werd das mit der klasse mal versuchen. danke euch.



  • uff. ich glaub das ist mir noch zu hoch. ich werde mal bissle weiter c++ lernen und später drauf zurückkommen.

    es sei denn einer ist so libe und schreibt mal eben schnell ein beispielsprojekt und schickt mir die sourcen. dann kann ich mir das anschauen.


Anmelden zum Antworten