Copy and Paste mit Richedit



  • Hi!

    Kann mir zufällig jemand von euch sagen was ich machen muss, um einen Text aus dem Windows-Editor in ein Richeditfeld zu kopieren?
    Strg+V (Einfügen) scheint bei Richeditfenstern nicht zu funktionieren. Auch bei den
    Eigenschaften gibt es keine Möglichkeit, Copy and Paste zu aktivieren.

    mike


  • Mod

    Wieso sollte Strg+V nicht funktionieren. Hast Du evtl. einen Accelerator der diesen Befehl bereits behandelt? Dann hast Du eine Doppelbelegung.
    Was passiert mit Strg+Einfg bzw. Umschalt+Einifg?

    Oder möchtest Du den Befehl per Programm ausführen? Dann sind WM_COPY und WM_PASTE Deine Freunde!



  • Danke für die Antwort, Martin.

    Meine Applikation ist von CFormView abgeleitet, wie ich außerdem gerade gelesen habe, verliert ein CRicheditCtrl - Steuerelement seine cut/copy/paste - Funktionalität, wenn es auf ein CFormView plaziert wird.

    Was man dagegen machen kann, ist mir schleierhaft. Ich werde natürlich weiterforschen, sollte jemand von euch aber zufällig einen Lösungsweg wissen, wär ich sehr dankbar 😉

    Euer Mike



  • mikeB schrieb:

    sollte jemand von euch aber zufällig einen Lösungsweg wissen, wär ich sehr dankbar 😉

    Euer Mike

    Eigentlich ist es ganz einfach:
    Mach Handler für ID_EDIT_COPY und ID_EDIT_PASTE im View.
    Wenn die aufgerufen werden und das Richedit den Focus hat (GetFocus), dann rufst du dessen entsprechende Funktion auf. 🙂
    Für ein Edit sieht das z.B. so aus:

    // Element mit Focus holen
    	CWnd* pWnd = m_pView->GetFocus();
    	if (pWnd)
    	{
    		// Jetzt rausfinden, was es ist:
    		// Ein Edit?
    		CEdit* pEdit = dynamic_cast<CEdit*>(pWnd);
    		if (pEdit)
    		{
    			pEdit->Copy();
    			return;
    		}
            }
    


  • Genial, ich bin echt überrascht, wieviel die Leute in diesem Forum wissen, vor allem estartu natürlich 😉

    Danke nochmals 🙂

    lg mike


Log in to reply