Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > get/setClipBoardData(CF_TEXT...) под NT


Автор: rhf 17.8.2002, 11:48
программа работает с буфером обмена через get/setClipBoardData()
обрабатываеться простой тект(CF_TEXT), но при работе под NT возникла проблема, все символы помещаемые таким образом в буфер видимо автоматически переводяться в формат Unicode (в таком виде они вылезают при вставке в редакторах)

как этого избежать?

Автор: revit 3.4.2006, 19:43
да вот сегодня тоже этот вопрос я решал, в инете ответа не нашёл, может не успел... в общем сейчас решили:
надо просто вставить в буфер юникод и текст вместе:
...
OpenClipboard(FClipboardWindow);
......
MultiByteToWideChar(CP_ACP, 0, Buffer, size, PWideChar(DataUncPtr), size);
SetClipboardData(CF_UNICODETEXT, DataUnc);
....
Move(Buffer^, DataTxtPtr^, Size);
SetClipboardData(CF_TEXT, DataTxt);
....
CloseClipboard;

потом приложение само выберет что ему надо, главное чтоб было.

Всем удачи!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)