Автор | Сообщение |
|
| постоянный участник
|
Пост N: 274
Зарегистрирован: 12.09.06
|
|
Отправлено: 07.04.07 13:52. Заголовок: Как из хХарбора скопировать текст в буфер Windows ?
Всем привет. Кто подскажет пример копирования текста в буфер обмена Windows и обратно, для чистого хХарбор ? Заранее спасибо за ответ.
|
|
|
Ответов - 6
[только новые]
|
|
|
| модератор
|
Пост N: 468
Зарегистрирован: 25.05.05
|
|
Отправлено: 07.04.07 19:26. Заголовок: Re:
#pragma BEGINDUMP #define HB_OS_WIN_32_USED #define _WIN32_WINNT 0x0400 #include <windows.h> #include "hbapi.h" #include "hbapiitm.h" HB_FUNC ( COPY2CLIPBOARD ) { HGLOBAL hglbCopy; char * lptstrCopy; char * cStr = hb_parc( 1 ); int nLen = strlen( cStr ); if ( !OpenClipboard( GetActiveWindow() ) ) return; EmptyClipboard(); hglbCopy = GlobalAlloc( GMEM_DDESHARE, (nLen+1) * sizeof(TCHAR) ); if (hglbCopy == NULL) { CloseClipboard(); return; } // Lock the handle and copy the text to the buffer. lptstrCopy = (char*) GlobalLock( hglbCopy ); memcpy( lptstrCopy, cStr, nLen * sizeof(TCHAR)); lptstrCopy[nLen] = (TCHAR) 0; // null character GlobalUnlock(hglbCopy); // Place the handle on the clipboard. SetClipboardData( CF_TEXT, hglbCopy ); CloseClipboard(); } #pragma ENDDUMP Использование: Copy2Clipboard(' My Text') Поздравляю с наступающей пасхой!
|
|
|
|
| постоянный участник
|
Пост N: 275
Зарегистрирован: 12.09.06
|
|
Отправлено: 09.04.07 22:28. Заголовок: Re:
|
|
|
|
| постоянный участник
|
Пост N: 276
Зарегистрирован: 12.09.06
|
|
Отправлено: 11.04.07 07:00. Заголовок: Re:
Функция работает. Классно. Особенно если мемо-поля нужно копировать. А теперь юзера спрашивают обратную операцию (и как я сам не подумал об этом). Как из буфера обмена Windows считать данные ? Заранее спасибо за ответ.
|
|
|
|
| постоянный участник
|
Пост N: 277
Зарегистрирован: 12.09.06
|
|
Отправлено: 22.04.07 22:50. Заголовок: Re:
Григорий !!! Выручи еще раз, дай пожалуйста обратную функцию - считывания из буфера обмена Windows в хХарбор. заранее спасибо.
|
|
|
|
| модератор
|
Пост N: 475
Зарегистрирован: 25.05.05
|
|
Отправлено: 24.04.07 14:56. Заголовок: Re:
Andrey пишет: цитата: | Как из буфера обмена Windows считать данные ? |
| #pragma BEGINDUMP #define HB_OS_WIN_32_USED #define _WIN32_WINNT 0x0400 #include <windows.h> #include "hbapi.h" #include "hbapiitm.h" HB_FUNC ( RETRIVETEXTFROMCLIPBOARD ) { if ( !OpenClipboard( GetActiveWindow() ) ) return; hb_retc(GetClipboardData( CF_TEXT )); CloseClipboard(); } #pragma ENDDUMP Использование: cText := RetriveTextFromClipboard()
|
|
|
|
| постоянный участник
|
Пост N: 278
Зарегистрирован: 12.09.06
|
|
Отправлено: 24.04.07 22:42. Заголовок: Re:
|
|
|
|