![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Загадка с Memo и TntMemo [D7, WinXP]
Zoom © (2010-04-13 16:28:00)Ситуация такая
Memo1.Lines.Add('Проверка');
TntMemo1.Lines.Add('Проверка');
///
если теперь скопировать клавиатурой из Memo1 слово "Проверка" в TntMemo1 либо в другое юникодовое приложение у вас будет "ïðîâåðêà", однако если напечатать хоть одну букву в Memo1, с клавиатуры на русском, затем эту букву можно даже стереть, и скопировать слово "Проверка" в TntMemo1 либо в другое юникодовое приложение у вас будет "Проверка"...
теперь с TntMemo1
если скопировать клавиатурой из TntMemo1 слово "Проверка" в Memo1 у вас будет "????????", однако если напечатать хоть одну букву в TntMemo1, с клавиатуры на русском, затем эту букву можно даже стереть, и скопировать слово "Проверка" в Memo1 у вас будет "Проверка"...
помогите пожалуйста, где в этих memo кроится режим после набора в них хоть одной русской буквы они становятся не глючными ???
Zoom (2010-04-13 18:36:00) [21]Amoeba_ , тогда буду искать в других местах :)
и так тоже не получается...
var Data: THandle;
DataPtr: Pointer;
CodePage : longint;
begin
CodePage:=$0419;
Data:= GlobalAlloc(GMEM_MOVEABLE + GMEM_DDESHARE, 4);
try
DataPtr := GlobalLock(Data);
try
Move(CodePage, DataPtr^, 4);
SetClipboardData(CF_LOCALE, Data);
finally
GlobalUnlock(Data);
end;
except
GlobalFree(Data);
end;
memo1.PasteFromClipboard;
Amoeba_ (2010-04-13 17:33:00) [22]
> как добраться до буфера обмена в самой memo, где он там
> скрылся ?
В "самой memo" нет своего особого буфера обмена, так что скрываться там нечему.
Zoom (2010-04-13 17:04:00) [23]>Надо работать с приведением к WideString, а не с ANSI
это конечно хорошо, но существует много других приложений которые уже написаны для ANSI их-то всех не перепишешь, а сними приходится иногда иметь дело...
тем более проблема не с символами, а с клипбоард, как сказал anonims !
вот посмотрите нашел что-то похожее
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=780
но оно на memo никак не влияет , лучше подскажите как добраться до буфера обмена в самой memo, где он там скрылся ?
Anatoly Podgoretsky (2010-04-13 16:40:00) [24]Буфер обмена в TNT остался ANSI а значит общие правила при копировании из приложения в приложение.
anonims (2010-04-13 16:39:00) [25]режим кроется в буфере обмена и языковой панели windows
Anatoly Podgoretsky (2010-04-13 16:33:00) [26]> Zoom (13.04.2010 16:28:00) [0]
Надо работать с приведением к WideString, а не с ANSI