Win32 GUI - Edit Control maximale Textlänge ?



  • Gute Abend Community,

    Ich erstelle ein Edit Control und nutze das sozusagen als "Log".
    Mein Tool schreibt da diverse Informationen rein, aber irgendwann ist der Text abgeschnitten und es geht nicht weiter:

    Control:

    hEditLog = CreateWindowEx(WS_EX_CLIENTEDGE, "Edit", "", WS_VSCROLL | WS_CHILD | WS_VISIBLE | ES_READONLY | ES_MULTILINE, 5, 515, 575, 150, hwnd, 0, GetModuleHandle(NULL), NULL);
    

    Funktion mit der ich Text anhänge:

    void AddTextToLog(char *strText) {
    	int index;	
    	char strBuffer[1024];
    	
    	sprintf(strBuffer, "%s\n", strText); 
    
    	index = GetWindowTextLength (hEditLog );
    	SetFocus (hEditLog );
    	SendMessageA(hEditLog , EM_SETSEL, (WPARAM)index, (LPARAM)index); 
    	SendMessageA(hEditLog , EM_REPLACESEL, 0, (LPARAM)strBuffer); 
    
    }
    
    
    

    Ich habe mich bewusst für das Edit Control entschieden, damit der Benutzer ggf. den Text markieren und kopieren kann.
    Was muss ich machen, damit ich einen "unendlich" langen Text in das Control schreiben kann ?
    Oder gibt es vielleicht eine Alternative die ich nicht auf dem Schirm habe ?

    Freue mich auf Antworten.





  • @Ertyty Du könntest deine Information in einen separaten Bereich speichern und zeigst mit dem Editcontrol immer nur einen entsprechenden Bereich daraus an. Dann kann der Text auch "unendlich" sein.


  • Mod

    Copy & Paste kannst Du zeilenweise auch mit einem List-Control bauen.
    Auch das mehrfach markieren ist damit möglich.

    Und Du könntest den virtuellen Modus verwenden. Dann musst DU die Daten nicht mal "doppelt" führen.


Log in to reply