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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.03.2013, 08:41   #11
lostbananan
Пользователь
 
Регистрация: 16.02.2010
Сообщений: 11
По умолчанию

Написал так:
Код:
type
  TForm1 = class(TForm)
...
    procedure DrawGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
      Rect: TRect; State: TGridDrawState);
...
procedure DrawGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
var s : String;
begin
  case TDrawGrid(Sender).tag of
    1:  s := IntToStr(agres);
    2:  s := IntToStr(alcohol);
    3:  s := IntToStr(boss);
  end;
  TDrawGrid(Sender).Canvas.TextOut(35, 1, s);
end;
Компилятор не пропускает такой код:
Код:
Grid[0].DrawGrid1DrawCell(Sender; ACol, ARow; Rect; State);
Выдает: Undeclared identier DrawGrid1DrawCell
Что я сделал нерпавильно?
lostbananan вне форума Ответить с цитированием
Старый 05.03.2013, 08:52   #12
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Код:
  TForm1 = class(TForm)
...
    procedure DrawGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
      Rect: TRect; State: TGridDrawState);
...
procedure Tform1.DrawGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
var s : String;
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 05.03.2013, 08:59   #13
lostbananan
Пользователь
 
Регистрация: 16.02.2010
Сообщений: 11
По умолчанию

Исправил, но ошибка осталась.
lostbananan вне форума Ответить с цитированием
Старый 05.03.2013, 09:40   #14
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Цитата:
Код:
Grid[0].DrawGrid1DrawCell(Sender; ACol, ARow; Rect; State);
А где и зачем такое надо! Когда и что рисовать знает и определяет система. И в случае необходимости путем вызова обработчика события OnDrawCell информирует об этом с указанием где (rect)что (sender, col, row) и как (state) она хочет рисовать. В этом и только в этом случае (по просьбе системы) ты можешь заняться рисованием!

DrawGrid1DrawCell процедура определенная не для Grid1, а для Form1 (или Self)
Код:
DrawGrid2DrawCell(grid1,....);
можно если ты сможешь определить (задать значения) и всем прочим параметрам, НО не нужно!
А если это будет в обработчике рисования то получишь stackoverflow.
тебя просят рисовать
в ответ ты просишь рисовать
в ответ в ответ тебя просят рисовать
в ответ в ответ в ответ ты просишь
в ответ в ответ в ответ в ответ тебя
......
В том случае если ты считаешь что системе пора заняться рисованием, то есть Invalidate; InvalidateCell, ...
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 05.03.2013 в 09:47.
evg_m вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Непонятная ошибка bandit58rus Visual C++ 9 04.06.2012 19:38
Непонятная ошибка RusseLfStyle Паскаль, Turbo Pascal, PascalABC.NET 2 18.03.2012 09:09
Непонятная ошибка fredwriter Общие вопросы C/C++ 19 28.10.2011 18:01
Непонятная ошибка Shurik(c) Помощь студентам 0 01.06.2011 20:34
Непонятная ошибка Lisёноk Помощь студентам 4 19.12.2010 15:08