leftindent richedit



  • hi

    ich hab schon einen Fehler gefunden aber funktioniert trotzdem nicht:

    Ich möchte dass der text nach der 1.Zeile jeweils in den nächsten Zeilen
    links einrückt.

    das heisst aber ich muss das Flag PFM_OFFSET setzten und den wert in
    cf.dxOffset schreiben .

    schreibt jedoch den Text ganz unformatiert weiter



  • The EM_SETPARAFORMAT message sets the paragraph formatting for the current selection in a rich edit control.

    Hast du diese ggf. auch entsprechend gesetzt?



  • ?? Ich habe nichts weiter gesetzt

    Muss ich erst den Text Selektieren ? Ich versteh den Satz irgendwie nicht ??

    Wäre nett wenn du mir das erklären könntest.



  • Ich habe das noch nie verwendet, aber genau so würde ich den Text verstehen - du musst also zuerst sagen, wofür du die neue Formatierung setzen willst (EM_SETSEL), denn diese gilt ja nicht automatisch für das Control als Ganzes. Wenn aber noch nichts drin steht könnnte es auch sein, dass du EM_SETSEL nicht mehr brauchst 🙄



  • ich habs jetz folgendermaßen geändert:

    void FormatRichText(HWND hWnd)
    {
    	PARAFORMAT2 cf;               
    	int tl;
    	memset( &cf, 0, sizeof(PARAFORMAT2) ); 
    
    	cf.cbSize = sizeof(PARAFORMAT2); 
    	cf.dwMask = PFM_OFFSET; 
    	cf.dxOffset = 50; 
    
    	tl = GetWindowTextLength(hWnd);
    	SendMessage(hWnd,EM_SETSEL,0,tl);
    
    	SendMessage( hWnd, EM_SETPARAFORMAT,   NULL, (LPARAM)&cf );  
    
    }
    

    Immer noch das gleiche 😕

    Aber irgendwie ist das selektieren doch blödsinn
    ich möchte es ja grundsätzlich immer für dieses Richeditfeld



  • Wird denn der Text markiert? Falls nicht, versuch das mal:

    If the start is 0 and the end is –1, all the text in the edit control is selected.

    linus schrieb:

    Aber irgendwie ist das selektieren doch blödsinn
    ich möchte es ja grundsätzlich immer für dieses Richeditfeld

    Naja, aber man möchte ja vielleicht in einem RichEdit nicht für alles die selbe Formatierung haben. Und wenn du es ganz am Anfang machst (bevor du es mit Inhalt füllst), dann sollte das ja afaik auch gehen, ohne dass du explizit vorher die Auswahl setzen musst 😉



  • no effect 😕 🙄 😡 🤡

    Der Fehler muss woanders liegen



  • Der Text wird auch nicht markiert?! Ist denn dein Fenster-Handle überhaupt richtig?



  • wie oben gezeigt erstelle ich erst das Fenster und dann formatiere ich es

    das muss so funktionieren , da du ja nicht bei jedem Texteintrag die Formatierung erneuern muss . Und das handle ist richtig

    der text wird dann erst später eingegeben



  • Oh mein Gott ich habs 🤡

    Der Wert von 50 war zu klein
    Bei 500 wird es sichtbarer

    Aber was in aller Welt sind denn twips ? 😕
    (edit: nach googlen 1 twip = 1/1440 inch => 50 twips sind sehr wenig)

    Danke auf jedenfall für Deine Hilfe

    Gruß Linus


Anmelden zum Antworten