Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2007.01.28;
Скачать: [xml.tar.bz2];

Вниз

Как в Memo при наведении мыши на слово оно выделялось цветом   Найти похожие ветки 

 
allrussia   (2006-12-02 08:19) [0]

Как по быстрому реализовать, чтобы при наведении на слово (словосочетание, предложение), отделенного от других запятыми, в Мемо курсора мыши оно отображалось другим цветом

вот скриншот:
http://slil.ru/23503047


 
PZ   (2006-12-02 10:44) [1]

Проще для этого использовать компонент RichEdit


 
allrussia   (2006-12-02 10:57) [2]

ок RichEdit, а пример можно или наводку


 
PZ   (2006-12-02 11:44) [3]

Смотреть всеми нелюбимого здесь Архангельского, "Приемы программирования в Delphi. Версии 5-7"


 
Leonid Troyanovsky ©   (2006-12-02 12:31) [4]


> allrussia   (02.12.06 10:57) [2]

> ок RichEdit, а пример можно или наводку


http://home.att.net/~robertdunn/Yacs.html

--
Regards, LVT.


 
allrussia   (2006-12-02 12:51) [5]

LVT
забыл указать, я в D7 сижу, а не в CBuider

короче я понял, чего нужно
нужно как в Delphi когда Ctrl жмешь и наводишь на слово подсветка была


 
Leonid Troyanovsky ©   (2006-12-02 13:00) [6]


> allrussia   (02.12.06 12:51) [5]

> забыл указать, я в D7 сижу, а не в CBuider


Ну и что?
Скажем, в msdn статьи написаны без оглядки на дельфи,
однако, настоящие дельфийцы их читают.

--
Regards, LVT.


 
allrussia   (2006-12-02 13:39) [7]

упростим и до того примитивнейший вопрос, на который пока никто (кодом) не ответил:

в общем навожу я на слово (словосочетание) курсор мыши
и могу получить его содержание

вот пример из DW

procedure TForm1.RichEdit1MouseMove(Sender: TObject; Shift: TShiftState;
 X, Y: Integer);
var
 iCharIndex, iLineIndex, iCharOffset, i, j: Integer;
 Pt: TPoint;
 s: string;
begin
 with TRichEdit(Sender) do
 begin
   Pt := Point(X, Y);
   // Get Character Index from word under the cursor
   iCharIndex := Perform(Messages.EM_CHARFROMPOS, 0, Integer(@Pt));
   if iCharIndex < 0 then Exit;
   // Get line Index
   iLineIndex  := Perform(EM_EXLINEFROMCHAR, 0, iCharIndex);
   iCharOffset := iCharIndex - Perform(EM_LINEINDEX, iLineIndex, 0);
   if Lines.Count - 1 < iLineIndex then Exit;
   // store the current line in a variable
   s := Lines[iLineIndex];
   // Search the beginning of the word
   i := iCharOffset + 1;
   while (i > 0) and (s[i] <> ",") do Dec(i);
   // Search the end of the word
   j := iCharOffset + 1;
   while (j <= Length(s)) and (s[j] <> ",") do Inc(j);
   // Display Text under Cursor
   RESULT := Copy(s, i + 1, j - i - 1);
....
 end;
end;  


теперь как мне корректно поменять шрифт у выделенного слова:

я пробовал так


...
SelStart = i;
SelLength = j - i;
SelAttributes.Font.Style = fsUnderline



Прекрасно все работает, но
1: когда увожу мышку выделение и стиль шрифта остаются остается а мне нужно только стиль шрифта менять и не выделять текст
т.е . обратно то как поменять?
2: офигеть как моргает при перерисовке при наведении мыши

з.ы. в delphi в редакторе когда ctrl жмешь и подводишь курсов вообще не моргает и прекрасно отображается линк


 
Джо ©   (2006-12-02 13:46) [8]

> з.ы. в delphi в редакторе когда ctrl жмешь и подводишь курсов
> вообще не моргает и прекрасно отображается линк

Потому, что в редакторе  Делфи используется не TRichEdit, а свой собственный компонент, исходников которого они, увы, не предоставляют.


 
allrussia   (2006-12-02 13:55) [9]

Джо а поповоду другого моего топика не смотрел скрины есть что сказать?



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

Форум: "Основная";
Текущий архив: 2007.01.28;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.054 c
9-1142783756
Чичиков
2006-03-19 18:55
2007.01.28
Какой формат моделей использовать?


15-1168381360
Bogdan1024
2007-01-10 01:22
2007.01.28
Генерирование документов


1-1164969759
Medved_
2006-12-01 13:42
2007.01.28
Текст в ячейках Stringrid и память


2-1168103202
CoolLamer
2007-01-06 20:06
2007.01.28
А как передать данные из ОДНОЙ процедуры в ДРУГУЮ?


15-1168324917
zdm
2007-01-09 09:41
2007.01.28
Со всеми прошедшими и наступающими!!!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский