Editcontrol soll Inhalt formatiert ausgeben



  • Hallo, mir ist leider kein passenderer Titel zum Thema eingefallen.

    Was ich gerne erreichen möchte ist, dass mein angegebener Pfad
    in einem Editcontrol so angezeigt wird, dass ich den letzten Ordner
    auch sofort lesen kann.

    "c:\test\ordner1\unterordner" wird bei mir, da das Control nicht groß
    genug ist also als "c:\test\ordn"... angezeigt.

    Wichtig ist mir zu sehen wie der letzte Ordner lautet.
    Nun könnte ich ja nach dem letzten \\ im String suchen (Reverse.Find),
    aber gehts auch irgendwie einfacher?

    Die Eigenschaften des Control habe ich so ziemlich alle durch und nichts
    führt zum gewünschten Ergebnis (außer ich habe was übersehen 😕 )



  • Vorher das Editfeld auslesen, dann mit GetLength(...) die Anzahl Zeichen bestimmen und die als ersten und zweiten Parameter eintragen bei:
    ((CEdit*)GetDlgItem(IDC_EDIT))->SetSel(..., ...);



  • Ja so geht es 🙂

    int lang = m_pfad.ReverseFind( '\\');
    lang+50;
    ((CEdit*)GetDlgItem(IDC_EDIT1))->SetSel(lang,false);
    

    Das lang+50 habe ich gesetzt, damit die ersten 50 Zeichen ab dem
    gefundenen \\ noch angezeigt werden...

    Wobei ich dachte bei Parameter 2 (true) würde dann der String-Teil
    auch markiert?



  • Fruggle schrieb:

    Das lang+50 habe ich gesetzt, damit die ersten 50 Zeichen ab dem
    gefundenen \\ noch angezeigt werden...

    Das ist Quatsch (bzw. bewirkt überhaupt nichts - du addierst zwei Zahlen und wirfst die Summe weg).


Anmelden zum Antworten