Richedit, Text hinzufügen ?



  • Hi.
    Ich habe nun ein Richedit erstellt. Nun möchte ich wenn ich per Hand eine Text ( keine Datei, zb. RETURN "Test" ) in das RichEditFeld hinzufügem. Als zuerst einen Zeilen umbruch und dann den Text "Test".

    Ich habe nur was gefunden, wie ich eien Datei hinzufüge !!
    Functioniert das genauso ? oder geht das auch einfacher ?

    Grüsse



  • geht einfacher



  • Hi!
    Es wäre schon nett, wenn du noch sagen könntest wie 🙂



  • Hi,
    Weiß Das wirklich keiner ???



  • Hast du den VC? Wenn ja, geh mal auf Tools->OLE/COM Object Viewer, in dem neuen Fenster auf Controls und in der Liste suchst du dir das "Microsoft Rich Edit Control". Rechtsklick darauf "View Type Information", dann erscheint ein neues Fenster, mit allen Funktionen, die das RichEdit Control hat :)! Da kannst du mal suchen, oder probier einfach mal WM_SETTEXT, vielleicht funktioniert's ja ;).

    cya 🙂



  • Hi!
    Hab da was aus meinem Chat ausgegraben:

    // function to add a text
    void utilAppendTextToWindow(HWND hWnd, char *szText, COLORREF crTextColor)
    {
        // private
        int tl;
        CHARFORMAT cf;
    
        tl = GetWindowTextLength(hWnd);
    
        // add new text
        SendMessage(hWnd, EM_SETSEL, tl, tl);
        SendMessage(hWnd, EM_REPLACESEL, FALSE, (LPARAM)szText);
    
        // fill struct
        memset( &cf, 0, sizeof(CHARFORMAT) );
    
        cf.cbSize = sizeof(CHARFORMAT);
        cf.dwMask = CFM_COLOR;
        cf.crTextColor = crTextColor;
    
        // select last text inserted
        tl = GetWindowTextLength(hWnd);
        SendMessage(hWnd, EM_SETSEL, (WPARAM)(tl-strlen(szText)), (LPARAM)tl);
    
        // set color
        SendMessage(hWnd, EM_SETCHARFORMAT ,SCF_SELECTION, (LPARAM)&cf);
    
        // remove bracket
        tl = GetWindowTextLength(hWnd);
        SendMessage(hWnd, EM_SETSEL, tl, tl);
    
        // set cusor to end of text
        for(int l=0; l<SendMessage(hWnd, EM_GETLINECOUNT, 0, 0); l++)
            SendMessage(hWnd, EM_SCROLL, SB_LINEDOWN, 0);
    }
    

    cu para
    😃



  • void AddText(TCHAR *pszText)
    {
        SETTEXTEX ste;
        ste.flags   = ST_SELECTION;
        ste.codepage= 0;
    
        SendMessage(hREdit, EM_SETTEXTEX, (WPARAM)&ste, (LPARAM)pszText);
    }
    

    MfG



  • Es gibt auch eine Suchfunktion hier im Forum!


Anmelden zum Antworten