Вниз
Скачать: CL | DM;

Работа с буфером обмена под Win2000   Найти похожие ветки 

← →
Александр_   (2002-05-16 13:14) [0]

Всем привет! Почему при вставке текста (скажем в RichEdit)через буфер обмена под Win 2000 появляются кракозябры, а под Win 9X все отлично работает? Подскажите, как это решить. Заранее благодарен.


← →
Reindeer Moss Eater   (2002-05-16 13:19) [1]

Патамучто юникод.
Перед копированием в буфер смени раскладку клавиатуры


← →
Polevi ©   (2002-05-16 16:14) [2]

procedure BufferToClipboard(Buffer: String);
var WideBuffer: WideString;
BuffSize: Cardinal;
Data: THandle;
DataPtr: Pointer;
begin
if Buffer <> "" then begin
WideBuffer := Buffer;
BuffSize := length(Buffer) * SizeOf(WideChar);
Data := GlobalAlloc(GMEM_MOVEABLE+GMEM_DDESHARE+GMEM_ZEROINIT, BuffSize + 2);
try
DataPtr := GlobalLock(Data);
try
Move(PWideChar(WideBuffer)^, Pointer(Cardinal(DataPtr))^, BuffSize);
finally
GlobalUnlock(Data);
end;
Clipboard.SetAsHandle(CF_UNICODETEXT, Data);
except
GlobalFree(Data);
raise;
end;
end;
end;


← →
Александр_   (2002-05-16 17:37) [3]

Спасибо. Работает отлично.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.008 c
4-47906
Димок
2002-05-16 21:42
2002.07.15
Как отловить сообщение от нажатия пункта в чужом PopupMenu?


4-47894
IGORka
2002-05-15 14:00
2002.07.15
Как програмно узнань имя юзера в Win NT


14-47718
LEX_LEE
2002-06-18 21:35
2002.07.15
КОРЕЯ ВЫИГРАЛА У ИТАЛИИ !!


1-47302
Adm. Beckett
2002-06-30 14:27
2002.07.15
выделение строк цветом в StringGrid


1-47296
FRecon
2002-06-28 15:33
2002.07.15
EInvalidPointer




   Наверх