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

глюк ричедит ?   Найти похожие ветки 

 
oleggar ©   (2006-07-05 13:50) [0]

я ищу текст в rtf с помощью trichedit.findtext ,и почему-то текст ищется только
английский.Это как-то лечится ?или придется использовать другие компоненты или загружать текст в массив ?


 
begin...end ©   (2006-07-05 14:32) [1]

Да, аналогичная проблема была, и здесь уже обсуждалась. Причём, если текущая раскладка клавиатуры -- русская, то русский текст ищется без проблем. Лечил собственной реализацией FindText с использованием EM_FINDTEXTW (т.е. сообщения для поиска текста в unicode-формате, описание см. в MSDN) вместо обычного EM_FINDTEXT. Работает это только в NT-системах, насколько я помню.


 
oleggar ©   (2006-07-05 15:00) [2]

у меня НТ .если поделитесь реализацией  ,буду рад до смерти


 
begin...end ©   (2006-07-05 17:36) [3]

> oleggar ©   (05.07.06 15:00) [2]

Вот код немного переделанного метода FindText. Он оформлен как функция, в которую нужно передавать ссылку на конкретный экземпляр RichEdit, но при желании можно создать наследника от TCustomRichEdit и добавить туда эту функцию как метод.

uses RichEdit;

function FindTextW(RichEdit: TCustomRichEdit; const SearchStr: WideString;
 StartPos, Length: Integer; Options: TSearchTypes): Integer;
const
 EM_FINDTEXTW = WM_USER + 123;

var
 Find: TFindTextW;
 Flags: Integer;
begin
 with Find.chrg do
 begin
   cpMin := StartPos;
   cpMax := cpMin + Length;
 end;
 Flags := 0;
 if stWholeWord in Options then Flags := Flags or FT_WHOLEWORD;
 if stMatchCase in Options then Flags := Flags or FT_MATCHCASE;
 Find.lpstrText := PWideChar(SearchStr);
 Result := SendMessage(RichEdit.Handle, EM_FINDTEXTW, Flags, LongInt(@Find));
end


Изменения (по сравнению с обычным FindText) выделены. Как видите, их совсем немного.
:о)


 
oleggar ©   (2006-07-05 18:47) [4]

спасибо



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

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



Память: 0.46 MB
Время: 0.026 c
9-1132870304
Новичек:)
2005-11-25 01:11
2006.08.20
Насчет создания игр


2-1154285388
Alral
2006-07-30 22:49
2006.08.20
Form.Caption не меняется.


15-1153403889
icq
2006-07-20 17:58
2006.08.20
icq-клиент


6-1144049407
nikNil
2006-04-03 11:30
2006.08.20
Как получить список открытых портов


2-1154245835
learner
2006-07-30 11:50
2006.08.20
Параметры структуры TModuleEntry32




   Наверх