caret position ermitteln
-
hi!
habe ein edit fenster und einen button. wenn ich den button drücke, soll ein fest definierter string in das editfeld eingefügt werden. und zwar genau an der position, an dem sich das caret befindet. wie kann ich das am besten machen. hab mir gedacht, den stringteil vor dem caret rauszufiltern, den string dahinter und dann die beiden teile mit dem neuen string zusammenzufügen und wieder ins editfenster reinzuschreiben. aber wie kann ich herausfinden, wie viele (und welche) zeichen vor und wie viele (und welche) hinter dem caret stehen?
Gruß
MaDlocK
-
Nimm doch einfach EM_REPLACESEL

-
Hi Flenders.
Aber EM_REPLACESEL ersetzt doch nur den Text durch einen anderen. Mein Problem ist aber, dass ich die Position des Caret herausfinden muss und den String davor sowie den dahinter bekommen will.
Mit GetCaretPos() bekomm ich zwar die Koordinaten des Carets, nur wie kann ich davon die beiden Teile des Strings herausfinden? Wenn ich das geschafft habe, wird der Text dann später natürlich ersetzt. Mit EM_REPLACESEL. 
-
Probier es doch einfach aus. Ich habe das nämlich gerade getan, und, welch Wunder, es funktioniert!

-
Ich bin begeistert!!
Es funktioniert wirklich. und so einfach! hätt nie gedacht, dass ich das mit einer zeile code schaff. 
danke für eure hilfe!
Greetz
MaDlocK
-
Steht doch extra da:

If there is no current selection, the replacement text is inserted at the current location of the caret.