Форум: "Основная";
Текущий архив: 2004.03.05;
Скачать: [xml.tar.bz2];
ВнизРазукрашенная строка в TRichEdit. Найти похожие ветки
← →
dr Tr0jan (2004-02-16 04:30) [0]У меня есть некая строка: " Мама мыла раму."
Как на Delphi выделить жирным (или каким-либо цветом) слово Мама, а затем вставить эту строку с выделенным словом в TRichEdit.
← →
Defunct (2004-02-16 04:41) [1]With RichEdit Do
Begin
SelAttributes.Style := [fsBold];
SelText := "Mama";
SelAttributes.Color := clRed;
SelAttributes.Style := [];
SelText := " мыла раму";
End;
← →
dr Tr0jan (2004-02-16 05:11) [2]Спасибочки!
А не подскажешь еще:
1) Как гиперссылку в TRichEdit сделать или подобие какое-нить: Чтобы при нажатии на определенное слово, это слово передавалось бы в какую-нибудь переменную. И чтобы при наведении на это слово менялся курсор.
2) Как в TRichEdit картинку какую-нибудь запихать, например вместо слова нарисовать смайлик?
3) Как програмно прокрутить TRichEdit в самый низ?
Или это невозможно сделать в TRichEdit?
← →
Gero (2004-02-16 08:00) [3]1),2) - Используй компоненты сторонних разработчиков
3) - Смотри FAQ
← →
dr Tr0jan (2004-02-16 12:12) [4]2 Gero © (16.02.04 08:00) [3]:
>Смотри FAQ
Какую именно факу?
← →
Defunct (2004-02-16 20:06) [5]> 1) Как гиперссылку в TRichEdit сделать или подобие какое-нить: Чтобы при нажатии на определенное слово, это слово передавалось бы в какую-нибудь переменную. И чтобы при наведении на это слово менялся курсор.
Выделить интересующий фрагмент без изменения позиции курсора можно так:
Procedure SetSel(SelStart, SelEnd:Integer);
Var CharRange: TCharRange;
Begin
CharRange.cpMin := SelStart;
CharRange.cpMax := SelEnd;
SendMessage(RichEdit.Handle, EM_EXSETSEL, 0, Longint(@CharRange));
End;
> 2) Как в TRichEdit картинку какую-нибудь запихать, например вместо слова нарисовать смайлик?
Загружать картинку в формате RTF:
RichEdit.Lines.LoadFormStream(Stream:TMemoryStream);
> 3) Как програмно прокрутить TRichEdit в самый низ?
Программная прокрутка:
SendMessage(memo.Handle, EM_LINESCROLL, 0, top);
top - новая верхняя видимая строка
← →
dr Tr0jan (2004-02-19 14:10) [6]2 Defunct © (16.02.04 20:06) [5]:
1) Delphi ругается:
а) не знает тип TCharRange (и иже с ним - CharRange, _CharRange) - даже сам описывал, не помогло;
б) не знаю почему, но ругается еще на EM_EXSETSEL, мол Undeclared identifier: "EM_EXSETSEL".
2) Почему-то не работает (т.е. все что записано ранее в RichEdit1 исчезает):
var
stream: TMemoryStream;
begin
stream:=TMemoryStream.Create;
Image1.Picture.icon.SaveToStream(stream); //<- сюда заранее запихана иконка;
RichEdit1.Lines.LoadFromStream(stream);
stream.Free;
3) Спасибо за подсказку, с её помощью более подходящий способ нашел: WM_VSCROLL - прокручивает Control в самый низ.
← →
Defunct (2004-02-20 21:30) [7]1) Delphi ругается:
а) не знает тип TCharRange (и иже с ним - CharRange, _CharRange) - даже сам описывал, не помогло;
TCharRange = record
cpMin: Longint;
cpMax: LongInt;
end;
б) не знаю почему, но ругается еще на EM_EXSETSEL, мол Undeclared identifier: "EM_EXSETSEL".
EM_EXSETSEL = WM_USER + 55;
Почему-то не работает (т.е. все что записано ранее в RichEdit1 исчезает):
Небходимо, полностью обновлять содержимое RichEdit
← →
Rouse_ (2004-02-20 21:47) [8]все это есть в полном обьеме в RichEdit 2.0 которая, к сожалению, не присутствует в стандартной поставке компонент, но обертка над ней реализована в компонентах сторонних разработчиков. К примеру RX
← →
Defunct (2004-02-21 00:46) [9]Rouse_ © (20.02.04 21:47) [8]
Где можно скачать RichEdit 2.0?
← →
dr Tr0jan (2004-02-22 15:04) [10]2 Defunct © (20.02.04 21:30) [7]:
>1) Delphi ругается:
а) не знает тип TCharRange (и иже с ним - CharRange, _CharRange) - даже сам описывал, не помогло;
TCharRange = record
cpMin: Longint;
cpMax: LongInt;
end;
б) не знаю почему, но ругается еще на EM_EXSETSEL, мол Undeclared identifier: "EM_EXSETSEL".
EM_EXSETSEL = WM_USER + 55;
С этим я разобрался - надо было подключать юнит RichEdit.
> Небходимо, полностью обновлять содержимое RichEdit
Все равно не работает:
var
stream: TMemoryStream;
begin
stream:=TMemoryStream.Create;
Image1.Picture.Bitmap.SaveToStream(stream);
RichEdit1.Lines.BeginUpdate;
RichEdit1.Lines.LoadFromStream(stream);
RichEdit1.Lines.EndUpdate;
stream.Free;
end;
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.03.05;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.006 c