SET LIBRARY TO LOCFILE("VFP2C32.FLL") * Clipboard operations DECLARE LONG OpenClipboard IN WIN32API LONG HWND DECLARE LONG CloseClipboard IN WIN32API DECLARE LONG GetClipboardData IN WIN32API Long ClipBoardDataFormat OpenClipboard(_Screen.HWnd) LOCAL AnsiString AS String #DEFINE UNICODE_CLIPBOARD_DATA_FORMAT 13 #DEFINE CYRILLIC_WINDOWS_CODE_PAGE 1251 #DEFINE CYRILLIC_FONT_CHARSET 204 #DEFINE MAX_BUFFER 256 * get an ANSI version of the Unicode content of the clipboard m.AnsiString = ReadWCharArray(GetClipboardData(UNICODE_CLIPBOARD_DATA_FORMAT), ; MAX_BUFFER, ; CYRILLIC_WINDOWS_CODE_PAGE) CloseClipBoard() ? m.AnsiString FONT "Arial", 11, CYRILLIC_FONT_CHARSETListing 2.
DECLARE LONG OpenClipboard IN WIN32API LONG HWND DECLARE LONG CloseClipboard IN WIN32API DECLARE LONG GetClipboardData IN WIN32API Long ClipBoardDataFormat SET LIBRARY TO LOCFILE("VFP2C32.FLL") OpenClipboard(_Screen.HWnd) LOCAL AnsiString AS String LOCAL UnicodeString AS String #DEFINE UNICODE_CLIPBOARD_DATA_FORMAT 13 #DEFINE CYRILLIC_WINDOWS_CODE_PAGE 1251 #DEFINE CYRILLIC_FONT_CHARSET 204 #DEFINE MAX_BUFFER 256 m.UnicodeString = ReadBytes(GetClipboardData(UNICODE_CLIPBOARD_DATA_FORMAT), MAX_BUFFER * 2) CloseClipBoard() * you may store the Unicode in your system as binary data m.AnsiString = STRCONV(m.UnicodeString, 6, CYRILLIC_WINDOWS_CODE_PAGE, 1) ? LEFT(m.AnsiString, AT(CHR(0), m.AnsiString + CHR(0)) - 1) FONT "Arial", 11, CYRILLIC_FONT_CHARSET