CEdit...Aktuelle Cursorposition ermitteln....
-
Hallo,
habe ein CEdit wo z.B. folgende Zahl drinsteht:
0.12356Jetzt klicke ich mit der Maus in das CEdit und füge an folgende Stelle noch die Zahl "4" ein.
0.123456Ab diesem Moment tritt ja die EnChange-Methode in Kraft. Hier möchte ich jetzt aber wissen, an welcher Stelle ich die Zahl "4" eingefügt habe.
In diesem Fall dann also an der 5.Stelle (von 0 beginnend).Wie funktioniert so was? Irgendwie habe ich noch keinen passenden Befehl gefunden?
Danke.
Gruss
S.
-
Hmm ... wirklich ? Und GetSel ... das ist nichts :-)) ?
Fredy
-
Weiß nicht ob es dafür einen Befehl gibt aber wenn nicht dann ermittle es doch selbst. Wenn Du nur ein Zeichen einfügst sollte das funktioniren:
Speichere den "alten" Inhalt in einen String und den "neuen" auch. In einer Zählschleife durchläufst Du beide Strings und vergleichst die Zeichen (Abbruchbedingung ist das Erreichen des Stringendes). Beim ersten Zeichen was nicht gleich ist brichst Du die Schleife ab. Der bis dahin verstrichene Zählindex ist die Position im String, an der das geänderte Zeichen steht.
-
Hi,
Danke für Eure Hilfe.So funktionierts:
// Cursorpos int start, end; // Aktuelle Cursorposition im Steuerelement holen m_ctlAdmaX.GetSel(start,end);
Dann steht in start und end die aktuelle Position drin ( außer man hat natürlich mehrere Zeichen markiert!).
Gruss
S.