![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
TRxRichedit [D6, NT4, WinXP]
Eug201 © (2002-03-26 18:08:00)Здравствуйте!
Использую TRxRicheditиз "RX Library 2.75 port to Delphi 6, v1.1 (by Oleg Fyodorov)". Сижу на NT и имею такую проблему: беру строку из ричедита: ShowMessage(WideString(reQuestionText.Lines[0])). Если в это время включена Русская раскладка - текст русский - если раскладка английская - заместо текста кракозябры. Как быть?
Eug201 (2002-03-30 10:41:00) [1]Кстати, нормально реализован RichView98, тока я не смог пока нормально портировать его на Delphi6 (он на 3 версию расчитан :(
Eug201 (2002-03-30 10:40:00) [2]To MBo: может я неправильно смотрел? Я не нашел, как в RichView вставить Ole :((
Кстати, с Popup в TRxRichedit тоже разобрался: есть в TRxRichedit такая процедурка:
{ RichEd20 does not pass the WM_RBUTTONUP message to defwndproc, }
{ so we get no WM_CONTEXTMENU message. Simulate message here. }
if Win32MajorVersion < 5 then
Perform(WM_CONTEXTMENU, Handle, LParam(PointToSmallPoint(
ClientToScreen(SmallPointToPoint(TWMMouse(Message).Pos)))));
inherited;
Идея такова: если версия виндовс меньше чем 2000 то вызывает Popup (начиная с 2000 RichEdit 3.0). Не знаю почему - у меня на XP все равно не вызывается :( поэтому я заремарил условие и на случай повторного вызова Inherited - там вроде все равно заглушка.
MBo (2002-03-28 15:18:00) [3]чолько что посмотрел
RichView 0.5.2 (freeware with sources)
Eug201 (2002-03-28 15:16:00) [4]Ага, извиняюсь насчет RichView - нашел Freeware версию. Бум смотреть. Thanks.
Eug201 (2002-03-28 15:11:00) [5]До чего разобрался дальше :) В TRxRichView просто не реализованы WideString и работа идет с CHARFORMAT2A заместо CHARFORMAT2W :(( Вообчем недоделанный он для интернационального использования.
Начсет TRichView - если про TRichView.com - то там триал-версии :(
MBo (2002-03-28 07:23:00) [6]TRichView
Eug201 (2002-03-28 06:47:00) [7]Дошел до того, что если в RxRichedit.pas указать использование RichEdit 1.0 - то все Ok. Дык блин Popup меню не работает :(( Может кто знает компонент, а? Ну оочень треба, please...
Eug201 (2002-03-27 16:38:00) [8]Вообче я нашел где глюк. Вот процедура получения текста из ричедита. Ему посылается сообщение & etc. Но почему он возваращает бяку при включеном английском языке? Просветите, please......
function TRichEditStrings.Get(Index: Integer): string;
var
Text: array[0..4095] of Char;
L: Integer;
begin
Word((@Text)^) := SizeOf(Text);
L := SendMessage(RichEdit.Handle, EM_GETLINE, Index, Longint(@Text));
if (Text[L - 2] = #13) and (Text[L - 1] = #10) then Dec(L, 2)
else if (RichEditVersion >= 2) and (Text[L - 1] = #13) then Dec(L);
SetString(Result, Text, L);
end;
Eug201 (2002-03-27 12:50:00) [9]Может кто подскажет где взять другой Richedit со вставкой Ole объектов? Оочень нужно..
Eug201 (2002-03-27 09:17:00) [10]Еще насчет Richedit"а. Эксперементальным путем установил, что если я меняю шрифт (RichEdit.SelAttributes.Name) шрифт русских букв изменяется только если я перед этим делаю RichEdit.SelAttributes.Charset:=ANSI_CHARSET. По другому не работает :(( Может это как-то связано?