Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.04.2011, 08:30   #1
Aleksandr
Форумчанин
 
Регистрация: 22.05.2007
Сообщений: 511
По умолчанию Рисунок в DBGrid

Мне необходимо вставить рисунок в столбец Num если значение в столбце Tip=1. Вот мой код. Почему он не выводит?
Код:
procedure TMainForm.DBGrid1DrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumn;
  State: TGridDrawState);
  Var CheckIt : Boolean;
    Style   : Integer;

   //                Рисунок в таблице
  Im1: TBitmap;


 begin

  Im1 := TBitmap.Create;
  if Column.FieldName = 'Num' then
  with DBGrid1.Canvas do
    begin
      Brush.Color := clInfoBk;
      FillRect(Rect);
      if ADOTable1.FieldByName('Tip').Value = 1 then
        ImageList8.GetBitmap(0, Im1)
      else
        ImageList8.GetBitmap(2, Im1);
    Draw(round((Rect.Left + Rect.Right - Im1.Width) / 2), Rect.Top, Im1);
    end;
     //****************************************


end;


___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 14.04.2011 в 09:52.
Aleksandr вне форума Ответить с цитированием
Старый 14.04.2011, 09:31   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Попробуйте так
Код:
procedure TMainForm.DBGrid1DrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumn;
  State: TGridDrawState);
var Bitmap: TBitmap;
    i: Integer;
begin
  if БлаБла1 then i:=1
  else if БлаБла2 then i:=2
  ...
  else Exit;
  Bitmap:=TBitmap.Create;
  Bitmap.Transparent:=True;
  ImageList.GetBitmap(i,Bitmap);
  DrawCellBitmap(TDBGrid(Sender),0,0,Bitmap,Rect);  //DrawCellBitmap в VCLUtils
  Bitmap.Free;
end;
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 14.04.2011, 10:24   #3
Aleksandr
Форумчанин
 
Регистрация: 22.05.2007
Сообщений: 511
По умолчанию

Мой код работает со стандартным DBGrid, а с RzDBGrid нет. Может нужно, что нибудь в опциях выставить?
Aleksandr вне форума Ответить с цитированием
Старый 14.04.2011, 10:27   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

RzDBGrid это случайно не RxDBGrid? То что я выше привел работает и для RxDBGrid и для EhDBGrid с небольшой вариацией при обращении к DrawCellBitmap
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 14.04.2011 в 10:33.
Аватар вне форума Ответить с цитированием
Старый 14.04.2011, 10:49   #5
Aleksandr
Форумчанин
 
Регистрация: 22.05.2007
Сообщений: 511
По умолчанию

В RxDBGrid работает. Нет это другой компанент Raize Components 4.0.
А что там за вариациия при обращении к DrawCellBitmap. Может это подойдет и мне?

Последний раз редактировалось Aleksandr; 14.04.2011 в 10:58.
Aleksandr вне форума Ответить с цитированием
Старый 14.04.2011, 11:14   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Первый параметр у меня TDBGrid(Sender). Я не помню что там у DrawCellBitmap. Скорее всего TWinControl. Посмотрите и пляшите от этого
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
рисунок andryuxa88 Microsoft Office Word 27 01.08.2010 10:15
Рисунок. Telec Помощь студентам 2 29.05.2010 22:22
3D рисунок LevonNikox PHP 0 04.08.2009 22:43
Перемещение даннах из dbgrid в dbgrid Hobbit_88 БД в Delphi 7 10.06.2009 13:33
перенос данных из DBGrid в DBGrid KingSize БД в Delphi 17 24.04.2009 09:30