Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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. По другому не работает :(( Может это как-то связано?


Наверх

Титульная страница Поиск, карта сайта Написать письмо