Событие DBGrid.OnDrawColumnCell

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Ответить
Eugene
незнакомец
Сообщения: 4
Зарегистрирован: 05.10.2006 13:10:13

Событие DBGrid.OnDrawColumnCell

Сообщение Eugene »

Здравствуйте!

В лазаре у меня первые шаги, но всё-таки вопрос:
При обработке события OnDrawColumnCell в DBGrid компилятор ругается на то, что не найден идентификатор TGridDrawState:
TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState)

Поскажите, что делаю не так.
Eugene
незнакомец
Сообщения: 4
Зарегистрирован: 05.10.2006 13:10:13

Сообщение Eugene »

Благодарю. Понял, что сделал не так.
NewUser
новенький
Сообщения: 97
Зарегистрирован: 08.05.2007 13:28:40

Сообщение NewUser »

так в чем причина?
Аватара пользователя
Attid
долгожитель
Сообщения: 2588
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E
Контактная информация:

Сообщение Attid »

надо ручками подключит модуль Grids кажется.
NewUser
новенький
Сообщения: 97
Зарегистрирован: 08.05.2007 13:28:40

Сообщение NewUser »

а у меня при запуске выскакивает
Access violation

и активна строка
if ((FFieldName<>'') and (FField<>nil)) then
в файле DBGrids

сам код

Код: Выделить всё

procedure TQForm.DBGridDrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
  if (SQL.FieldByName('ID_Q').AsInteger > 1) then begin
   with  DBGrid.Canvas do
   begin
      Brush.Color:=clGreen;
      Font.Color:=clWhite;
      FillRect(Rect);
      TextOut(Rect.Left+2,Rect.Top+2,Column.Field.Text);
   end;
   end
 else
  begin
   DBGrid.DefaultDrawColumnCell(Rect, DataCol, Column, State);
  end;
end;
Ответить