CRichEditView
-
> Zu 2.: ?
Naja, wenn man in so einem RichEditView einen Text markiert werden dabei nur ganze Wörter markiert. Ich würde aber gerne auch nur Teilausschnitte, also einzelne Buchstaben etc. markieren können.
Ansonsten mal danke für deine Antwort
-
Naja, wenn man in so einem RichEditView einen Text markiert werden dabei nur ganze Wörter markiert.
Wirklich? Warum hat es sich dann so verbreitet, wenn es nicht einmal dazu in der Lage ist?
-
Ach ja, immer diese konstruktiven Kommentar (@ReneG)....
Ich hab's gerade mal in einer meiner Programme getestet. Bei mir lassen sich auch einzelne Buchstaben markieren, egal, ob mit Maus oder Tastatur.
Shaggy
-
*lol* @Shaggy
Du bist doch auch nicht besser. Schliesslich ist das hier ein Programmierforum. Hier geht es nicht um Maus- und Tastaturbedienung, sondern das Ganze per Code zu realisieren!
Aber komischerweise heisst die Funktion zum Selektieren
SetSel( Start, Length)
und nirgends steht, dass sich damit nur ganze Wörter markieren lassen.
-
@ReneG, bieten Deine Programme keine Interaktion, die Du programmieren musst? Armselig...
-
ReneG: Joar@SetSel. Aber wenn der User etwas markiert, wird manchmal das komplette Wort markiert. Ich wollte es so, dass der User jeden Buchstaben einzeln markieren kann (und eben gar nicht die Möglichkeit, ganze Wörter automagisch zu markieren). So wie in Notepad eben.
-
Siehste ReneG, geht also doch um Interaktion.
@Phobos, könnte es vielleicht daran liegen, dass in den Optionen für das richeditctrl ECO_AUTOWORDSELECTION gesetz ist?
CRichEditCtrl::SetOptions(..)
Shaggy
-
Funktioniert einwandfrei. Vielen Dank
-
Hm, nochmal eine weitere Frage: Ich habe durch SetRect oder so am linken Rand 50 Pixel Rand gemacht. Da würde ich jetzt gerne was hinzeichnen. Aber CRichEditView::OnDraw() wird nie aufgerufen... und auch in OnInitialUpdate kann ich nicht zeichnen, wenn ich mir über GetDC einen DC besorge... weiß vielleicht jemand wie das trotzdem geth?
-
Mit OnInitialUpdate() wird's eh nix und OnDraw() ist für CCtrlView (Basisklasse von CRichEditView) als ASSERT(FALSE) programmiert. Wie wäre es mit OnPaint()?
Ansonsten legst Du Dir in die View ein neues Fenster auf den Rand, in dem Du dann zeichnest.
Shaggy
-
OnPaint geth nicht, wenn ich das einbaue zeichnet er gar nichts mehr
Fenster oder sowas selbst erstellt hab ich bisher noch nie... kannste mir da mal ein bisschen Code oder so geben? Wäre nett
-
Geht's auch nicht, wenn Du Deiner überschriebenen OnPaint-Funktion CRichEditView::OnPaint() aufrufst?
Mit ein bischen Code geben ist es da nicht mehr getan. Da muss ich Dich an Programmiertutorials verweisen, die es unter www.c-plusplus.net/tutorials.htm gibt.
Shaggy
-
Hm, ich habs mal mit CRichEditView::RedrawWindow() probiert. OnPaint kann ich auchmal ausprobieren, danke für den Hinweis...
Hm ok, dann werde ich mich mal etwas tiefergehender damit beschäftigen... trotzdem danke für eure Hilfe