![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
При копировании в Clipboard русских символов изменяется их код-ка [D7, WinXP]
San1712 © (2007-11-13 07:31:00)Я привязал к ListBox переменную Tstringlist. Если я создаю ListBox1.Item, которая заканчивается латинскими буквами , то при копировании из Tstringlist в Clipboard все русские символы которые были в TStringList заменяются на какие-то др. символы.
Проблема вроде как решается поставил в конце русскую точку и всё. Дык нет пробовал в функции присвоить Edit1.Text {Edit1 сюда у меня вводится название для Item} русскую точку всё равно глюк
остаётся. Пробовал в ListBox и Edit выставлять русскую кодировку и Times New Roman ничего не изменилось. Может кто сталкивался с такой
проблемкой , наведите на мысль?
stanislav_ (2007-11-13 12:39:00) [1]Когда копируешь раскладка windows должна быть русской :-)
Amoeba (2007-11-13 12:34:00) [2]http://www.delphikingdom.com/asp/viewitem.asp?catalogid=780+ обсуждение этой статьи.
Igor Zorkov (2007-11-13 07:40:00) [3]
procedure WriteToClipboard(text :WideString);
var Handle: THandle;
HandlePtr: Pointer;
Size: Cardinal;
begin
if OpenClipboard(Self.Handle) then
begin
EmptyClipboard;
Size := sizeof(text[1])*(length(text)+1);
Handle := GlobalAlloc(GMEM_MOVEABLE + GMEM_DDESHARE, Size);
if Handle = 0 then
Exit;
HandlePtr := GlobalLock(Handle);
Move((PWideChar(text))^, HandlePtr^, Size);
GlobalUnLock(Handle);
SetClipboardData(CF_UNICODETEXT, Handle);
CloseClipboard();
end;
end;