Char-Buffer in Richedit ausgeben



  • Ich möchte den Inhalt eines Char-Arrays in ein Richedit ausgeben.
    Im Char-Array ist eine Textdatei gespeichert (inklusive "\n")
    nun möchte ich das ganze halt ausgeben. Ich weiß aber nicht wie man die Streamin- Funktion dazu verwendet.
    Hat wer eine Idee?

    Gruß ABC++



  • Hallo,

    wie du schon erwähnt hast, geht das über die StreamIn Methode.

    Hier ein Beispiel

    static DWORD CALLBACK StreamInFile(DWORD dwCookie, LPBYTE pbBuff, LONG cb, LONG *pcb)
    {
    	CFile* pFile = (CFile*)dwCookie;
    
    	*pcb = pFile->Read((void*)pbBuff, cb);
    
    	return 0;
    }
    
    // bei einer Dialogbasierenden Anwendung könnte das RE-Control in der OnInitDialog-Methode initialisiert werden.
    
    BOOL CMyDlg::OnInitDialog()
    {
    	CDialog::OnInitDialog();
    
        // hier der Code für die Initialisierung des RE's
    	EDITSTREAM es;
    
    	CFile f;
    	f.Open(_T("ReadMe.txt"), CFile::modeRead);
    
    	es.dwCookie = (DWORD)&f;
    	es.pfnCallback = StreamInFile;
    
    	m_wndRichEdit.StreamIn(SF_TEXT, es);
    
    	f.Close();
    
    	return TRUE;
    }
    

    Das RE-Steuerelement sollte folgende Stile beinhalten:
    WS_VSCROLL|WS_HSCROLL|ES_MULTILINE|ES_AUTOVSCROLL|ES_AUTOHSCROLL

    Gruss
    Frank



  • Ja ein File auslesen war mir soweit bekannt.
    Ich möchte jetzt aber ein char-Array(keine Datei) auslesen.

    Gruß ABC++



  • Na einfach zuweisen, allerdings reicht glaube ich,"\n" nicht, du brauchst "\r\n" in dem string.

    Natürlich brauchst du ne Cstring Membervariable von dem Richeditfeld



  • Was soll ich wo zuweisen. Das ist mir nicht ganz klar.
    Hast du vielleicht ein Beispiel zur Hand ?

    Gruß ABC++



  • Du willst den string in einem Richeditfeld anzeigen lassen.
    Ich nehme an, du meinst einen String?
    z.B.

    char * DeinFeld;//Nehmen wir an das steht "Hallo drin";
    
    CString m_sRichEdit;//ist deine dem Steuerelement zu gewiesene Membervariable
    sRichEdit=DeinFeld;//weißt es der CStrig Variable zu(Das geht)
    UpdateData(FALSE);//aktualisierst dein Steuerelement
    

    und das nennt man zuweisen
    Wenn ich dich falsch verstanden habe, dann schildere genauer was du willst.
    auf deine erste Frage wurde mir nämlich nicht klar, was du mit dem streamIn anfängen möchtest


Anmelden zum Antworten