Разное
Последние книги
Самое популярное
Все бесплатно
Все ссылки на файлы, расположенные на страницах сайта, добавлены пользователями и доступны для бесплатного скачивания. За содержание этих файлов администрация сайта ответственности не несет.
Навигация
Вопросы
Подсчет времени какого-либо события
Категория: Математика
Категория: Математика
Округление целого числа до 5
Категория: Математика
Категория: Математика
Как получить размер текстового файла, не открывая его
Категория: Файловая система
Категория: Файловая система
Как в Memo прокрутить текст
Категория: Компоненты
Категория: Компоненты
Удалить свой же exe-шник
Категория: Приложение
Категория: Приложение
Как получить дату создания файла
Категория: Файловая система
Категория: Файловая система
Быстрое копирование файлов
Категория: Файловая система
Категория: Файловая система
Округление в большую сторону
Категория: Математика
Категория: Математика
Распознавание кодировки. Перекодировка.
Категория: Текст и строки
Категория: Текст и строки
Как соединить несколько файлов в один
Категория: Текст и строки
Категория: Текст и строки
Delphi - База Знаний: Подсветить часть текста в DBGrid
//Таблица - mem
//Поле - Detail_name
//Edit для поиска - eFind
procedure TfrmMain.GridDrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumnEh;
State: TGridDrawState);
var i, tmpPos: integer;
s, e, f2: string;
r: TRect;
begin
if DataCol = 2 then
begin
with Grid.Canvas do
begin
r := Rect;
FillRect(r);
e := AnsiUpperCase(eFind.Text);
f2 := AnsiUpperCase(MemDetail_name.Text);
i := pos(e, f2);
if i <> 0 then
begin
s := copy(MemDetail_name.Text, 1, i - 1);
Font.Color := clBlack;
Font.Style := [];
TextOut(r.Left, r.Top, s);
r.Left := r.Left + TextWidth(s);
Brush.Color := $00CCFFFF;
tmpPos := Pos(e, f2);
s := Copy(MemDetail_name.Text, tmpPos, Length(e));
Font.Color := clMaroon;
Font.Style := [fsBold];
TextOut(r.Left, r.Top, s);
r.Left := r.Left + TextWidth(s);
Brush.Color := clWhite;
s := copy(MemDetail_name.Text, i + length(eFind.Text), length(f2));
Font.Color := clBlack;
Font.Style := [];
TextOut(r.Left, r.Top, s);
end else
begin
TextOut(r.Left, r.Top, MemDetail_name.Text);
end;
end;
end;
end;
procedure TForm1.Edit1Change(Sender: TObject);
begin
DBGrid1.Repaint;
end;