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

Вниз

Отрисовка TRichEdit   Найти похожие ветки 

 
yaric   (2008-08-19 20:13) [0]

Удалено модератором
Примечание: Спам


 
{RASkov} ©   (2008-08-20 00:23) [1]

> [0] yaric   (19.08.08 20:13)

Тут графика не при чем...
Попробуй так:
uses RichEdit;

procedure AddColoredLineInRichEdit(REd: TCustomRichEdit; const AStr: String; const BColor, FColor: TColor);
var XFormat: TCharFormat2;
begin
 FillChar(XFormat, SizeOf(XFormat), 0);
 XFormat.cbSize:=sizeOf(TCharFormat2);
 XFormat.dwMask:=CFM_BACKCOLOR or CFM_COLOR;
 XFormat.crBackColor:=ColorToRGB(BColor);
 XFormat.crTextColor:=ColorToRGB(FColor);
 SendMessage(REd.Handle, EM_SETCHARFORMAT, SCF_WORD or SCF_SELECTION, LPARAM(@XFormat));
 REd.Lines.Add(AStr);
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
 AddColoredLineInRichEdit(RichEdit1, "This line of text will blue background and Red Font", clBlue, clRed);
end;

Автор не я. Я только в процедуру "это всё" оформил....


 
{RASkov} ©   (2008-08-20 00:38) [2]

Хотя если вопрос был
> необходимо в TRichEdit подсветить определеную строку

то тогда примерно так исправить:
procedure ColoredLineInRichEdit(REd: TCustomRichEdit; const ALine: Integer; const BColor, FColor: TColor);
var XFormat: TCharFormat2; P: TPoint;
begin
 FillChar(XFormat, SizeOf(XFormat), 0);
 XFormat.cbSize:=sizeOf(TCharFormat2);
 XFormat.dwMask:=CFM_BACKCOLOR or CFM_COLOR;
 XFormat.crBackColor:=ColorToRGB(BColor);
 XFormat.crTextColor:=ColorToRGB(FColor);
 P.Y:=ALine-1; P.X:=0; REd.CaretPos:=P;
 Red.SelLength:=Length(REd.Lines[ALine]);
 SendMessage(REd.Handle, EM_SETCHARFORMAT, SCF_WORD or SCF_SELECTION, LPARAM(@XFormat));
end;

procedure TForm1.Button5Click(Sender: TObject);
begin
 ColoredLineInRichEdit(RichEdit1, 2, clRed, clBlue);
end;

Конечно не совсем как в ИДЕ получилось, но....


 
Германн ©   (2008-08-20 00:48) [3]

Хм. А я думал что этот топик в "Основной" удалили. Оставили только его дубликат в WinAPI.
Мне сразу не понравился вопрос о строке в TRichEdit в сочетании с примером из IDE:  "как в IDE строку с точкой останова"
У IDE вроде бы не было никогда переноса!? А у РичЭдит он есть.


 
yaric   (2008-08-20 00:55) [4]

так то оно так ...но EM_SETCHARFORMAT не подходит так как требует выделения линии которую необходимо подсветить, у меня идет синхронизация со звуковым файлом и рисовать нужно постоянно...при использовании этого варианты идет постоянное моргание так как меняется выделение...к тому же постоянно перемещается каретка...что тоже не хорошо...у меня есть на момент времени слово котрое проигрывается ...я знаю в какой оно сейчас линии Richeditа находиться...соотвественно необходимо єту линию выделить...


 
Германн ©   (2008-08-20 01:10) [5]


> yaric   (20.08.08 00:55) [4]

Ты бы, дурень, изложил бы свою задачу! Тогда бы смог надеятся на рабочий ответ.


 
yaric   (2008-08-20 01:23) [6]

Задача в следующем вообщем состоит...

есть текст в TRxRichEdit
есть звук  в  OGG Vorbis

есть звуковые метки : милисекунда:номер символа в тексе

Звук проигрывается строка с символом по метке подсвечивается...

Вот и все...


 
Германн ©   (2008-08-20 01:29) [7]


> yaric   (20.08.08 01:23) [6]

Караоке?


 
yaric   (2008-08-20 02:05) [8]

нет... обучающая программа....языку


 
yaric   (2008-08-20 02:06) [9]

но если бы удалось сделать как в караоке тоже подойдет...



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

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

Наверх




Память: 0.46 MB
Время: 0.005 c
2-1249889488
ЛД
2009-08-10 11:31
2009.10.11
DLL


15-1249919788
@!!ex
2009-08-10 19:56
2009.10.11
Еще одна игра-головоломка


15-1249590603
Юрий
2009-08-07 00:30
2009.10.11
С днем рождения ! 7 августа 2009 пятница


15-1247106590
keymaster
2009-07-09 06:29
2009.10.11
Интересуюсь работой


15-1250074642
student_delphi
2009-08-12 14:57
2009.10.11
Стандарт SQL для СУБД Access 2003





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский