[C++] Zapisywanie tekstu ze zmiennej do schowka
Ostatnio zmodyfikowano 2013-11-30 14:04
mgrD Temat założony przez niniejszego użytkownika |
[C++] Zapisywanie tekstu ze zmiennej do schowka » 2013-11-30 00:21:44 Witam, działam sobie kulturalnie na klasie string i zaciekawiła mnie opcja przypisanie wartości ze zmiennej string do schowka. Zapewne da się to zrobić lecz niestety nie słyszałem o tym jeszcze - może ktoś mnie nakierować co powinienem przeczytać/wybadać? |
|
DejaVu |
» 2013-11-30 00:27:10 |
|
mgrD Temat założony przez niniejszego użytkownika |
» 2013-11-30 00:52:41 Dało by radę jakiś przykład z tym? BOOL bRes = OpenClipboard( NULL ); std::string * buffer; EmptyClipboard(); HGLOBAL clipBuffer = GlobalAlloc( GMEM_DDESHARE, test.size() ); buffer =( std::string * ) GlobalLock( clipBuffer );
GlobalUnlock( clipBuffer ); SetClipboardData( CF_TEXT, clipBuffer ); CloseClipboard();
I niestety nie wiem jak przypisać text ze zmiennej test typu string do schowka. Jak dam tak jak to zrobiłem to w schowku zamiast "test123" mam "0>`" |
|
DejaVu |
» 2013-11-30 04:14:47 std::string _sInput = "abc";
HGLOBAL hNewClipboardData =::GlobalAlloc( GMEM_MOVEABLE, sizeof( char ) *( _sInput.size() + 1 ) );
if( hNewClipboardData ) { LPSTR strNewClipboardText =( LPSTR ) GlobalLock( hNewClipboardData ); ::memcpy( strNewClipboardText, _sInput.c_str(), sizeof( char ) *( _sInput.size() + 1 ) ); GlobalUnlock( hNewClipboardData ); ::SetClipboardData( CF_TEXT, hNewClipboardData ); }
|
|
mgrD Temat założony przez niniejszego użytkownika |
» 2013-11-30 12:43:57 Dzięki lecz jest jakiś błąd w lini ::memcpy( strNewClipboardText, test.c_str(),( sizeof( char ) *( test.size() + 1 ) ); error: \main.cpp||In function 'int main()':| \main.cpp|31|error: invalid conversion from 'const void*' to 'void*' [-fpermissive]| \include\string.h|41|error: initializing argument 1 of 'void* memcpy(void*, const void*, size_t)' [-fpermissive]| ||=== Build finished: 2 errors, 0 warnings (0 minutes, 0 seconds) ===|
Kod wkleiłem ten co dałeś tylko zmieniłem nazwę obiektu(?) string na "test". |
|
DejaVu |
» 2013-11-30 12:59:49 Poprawiłem kod bo złe rzutowanie było. |
|
mgrD Temat założony przez niniejszego użytkownika |
» 2013-11-30 13:25:25 Dziękuję lecz napisu ze zmiennej nie mam w schowku niestety. |
|
DejaVu |
» 2013-11-30 13:37:38 No bo to nie jest kompletny kod, tylko fragment kodu jak przerzucić tekst do schowka (tek kod zakłada, że się wie jak przygotować schowek do pracy i jak zakończyć z nim pracę). |
|
« 1 » 2 |