Недавно добавленные исходники

•  TDictionary Custom Sort  522

•  Fast Watermark Sources  884

•  3D Designer  1 816

•  Sik Screen Capture  1 461

•  Patch Maker  1 470

•  Айболит (remote control)  1 393

•  ListBox Drag & Drop  1 168

•  Доска для игры Реверси  21 448

•  Графические эффекты  1 343

•  Рисование по маске  1 283

•  Перетаскивание изображений  1 094

•  Canvas Drawing  965

•  Рисование Луны  806

•  Поворот изображения  762

•  Рисование стержней  805

•  Paint on Shape  491

•  Генератор кроссвордов  755

•  Головоломка Paletto  662

•  Теорема Монжа об окружностях  846

•  Пазл Numbrix  611

•  Заборы и коммивояжеры  839

•  Игра HIP  552

•  Игра Go (Го)  525

•  Симулятор лифта  544

•  Программа укладки плитки  506

•  Генератор лабиринта  561

•  Проверка числового ввода  521

•  HEX View  597

•  Физический маятник  523

•  Задача коммивояжера  557

 
скрыть


Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Назначение цвета для каждой строки, вывод ячейки в несколько строк в StringGrid




procedure TFormHistory.ListHistoryDrawCell(Sender: TObject; Col, Row: Integer;
          Rect: TRect; State: TGridDrawState);
var
  S: string;
  DrawRect: TRect;
  CurrentColor: TColor;
begin
  // Определяем цвет строки в зависимости типа Imcoming
  if (Sender as TStrinGgrid).Cells[COLUMN_INCOMING , Row ] = '1' then
    CurrentColor:=clBlue
  else
    CurrentColor:=clMaroon;

  if (Sender as TStrinGgrid).Row = Row then
    CurrentColor := clHighlightText;

  (Sender as TStrinGgrid).Canvas.font.color := CurrentColor;
  S:= (Sender as TStrinGgrid).Cells[ Col, Row ];
  if (Col = COLUMN_MESSAGE ) and (Row <> ROW_HEADER) then
  begin
    if Length(S) > 0 then
    begin
      DrawRect:=Rect;
      DrawText((Sender as TStrinGgrid).Canvas.Handle, Pchar(S), Length(S),
      DrawRect, dt_calcrect or dt_wordbreak or dt_left );
      if (DrawRect.bottom - DrawRect.top) > (Sender as TStrinGgrid).RowHeights[Row] then
        (Sender as TStrinGgrid).RowHeights[row] :=(DrawRect.bottom - DrawRect.top)
      else
      begin
        DrawRect.Right:=Rect.Right;
        (Sender as TStrinGgrid).Canvas.FillRect( DrawRect );
        DrawText((Sender as TStrinGgrid).Canvas.Handle, Pchar(S),
                  Length(S), DrawRect, dt_wordbreak or dt_left);
      end;
    end;
  end
  else
    if Row <> ROW_HEADER then
      (Sender as TStrinGgrid).Canvas.Textout(rect.left+3, rect.top+3 , S );
end;





Похожие по теме исходники

Изменение цвета изображения

Нейросеть для распознавания образов

Механизм станка качалки для нефти

Весы для взвешивания

 

Кувшины для воды

Доска для игры Реверси

DBLookupComboBox in StringGrid

Cell hint in StringGrid

 

CheckBox in StringGrid

Components in StringGrid

Сапер StringGrid

StringGrid Decoration

 

TStringGridCheker

TQGRID Perfect StringGrid

OwnerDraw StringGrid




Copyright © 2004-2022 "Delphi Sources" by BrokenByte Software. Delphi World FAQ

Группа ВКонтакте   Facebook   Ссылка на Twitter   Ссылка на Telegram