Avatar billede joeb Nybegynder
06. april 2002 - 18:57 Der er 5 kommentarer og
1 løsning

paste og copy i MFC

Jeg vil lave et lille program i Visual's MFC, hvor man kan paste en streng ind i et felt, og derefter skal den dekodes og udskrives. Den udskrevne streng skal derefter kunne kopieres og bruges andet sted.

Jeg er temmelig nybegynder i MFC, og kan ikke lige greje hvordan man kan paste til en Cstring og slet ikke hvordan man kan markere det udskrevne og kopiere det.

Er der nogen der har et hint?
Avatar billede jpk Nybegynder
08. april 2002 - 08:33 #1
Du kan bare oprette en membervariabel (CString) for den kontrol der indeholder den.
Så er alt du skal gøre, at kalde UpdateData(true); og du har strengen i din CString.
Avatar billede soepro Nybegynder
08. april 2002 - 08:57 #2
jpk >> ???? - Kodestump pls !
Avatar billede jpk Nybegynder
08. april 2002 - 09:11 #3
Højreklik på dialogen, vælg ClassWizard og fanebladet "Member Variables" marker ID'et på den kontrol (fx en EDIT) du vil have teksten fra. Klik "Add Variable", giv den et navn og category=value, Variable Type=CString, afslut med at klikke "OK".

Initialiserering af kontrollens tekst fra din member:

m_strMyText = "Eksperten";
UpdateData(false);

Initialisering af member med kontrollens tekst:

UpdateData(true);
// m_strMyText indeholder nu værdien fra kontrollen
Avatar billede soepro Nybegynder
08. april 2002 - 11:03 #4
OK - en anden måde at lave m_strMyText = Edit1->Text og omvendt på.

Men hvad har det med copy/paste at gøre ? Er copy/paste ikke blot Ctrl+C i kontrollen og Ctrl+V der hvor teksten skal ind igen ?

Hvis man programmatisk skal gemme/hente teksten i clip-bordet kan det gøres sådan her:

#include <clipbrd.hpp>

Clipboard()->SetTextBuf = m_strMyText;
m_strMyText            = Clipboard()->GetTextBuf;
Avatar billede joeb Nybegynder
25. april 2002 - 21:02 #5
Spørgsmålet gik netop på copy/paste, og soepro's svar virkede ikke. clipbrd.hpp findes ikke. jpk's svar er via App Wizard'en, som jeg aldrig bruger.

Fandt selv ud af at copy/paste-funktionerne simplethen bare ligger i CEdit. Meget simpelt.

Hvis nogen er interesseret så gøres det sådan:

dit_CEdit_objekt.SetSel(0, -1);
dit_CEdit_objekt.Copy();
Avatar billede joeb Nybegynder
03. maj 2002 - 12:15 #6
har brug for mine points :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester