Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 05.03.2013, 15:02
lostbananan lostbananan вне форума
Начинающий
 
Регистрация: 05.01.2013
Сообщения: 119
Репутация: 10
По умолчанию Обработчик события для компонента созданного "на лету"

Создаю компоненты таким образом:
Код:
  Grid[0] := TDrawGrid.Create(Form1);
У меня есть обработчик события:
Код:
procedure TForm1.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]
?
Ответить с цитированием
  #2  
Старый 05.03.2013, 15:04
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Ну после конструктора можно.
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #3  
Старый 05.03.2013, 15:15
lostbananan lostbananan вне форума
Начинающий
 
Регистрация: 05.01.2013
Сообщения: 119
Репутация: 10
По умолчанию

После конструктора это здесь:
Код:
Grid[0] := TDrawGrid.Create(Form1);
и ниже написать:
Код:
Grid[0].DrawGrid1DrawCell(Sender; ACol, ARow; Rect; State);
ТАк если написать: не пропускает неизвестный идентификатор
Код:
DrawGrid1DrawCell
процеудра DrawGrid1DrawCell у меня объявдена в теле Form1.
Код:
type
  TForm1 = class(TForm)
    Timer1: TTimer;
procedure DrawGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
      Rect: TRect; State: TGridDrawState);
  private
Что неправильно?
Ответить с цитированием
  #4  
Старый 05.03.2013, 15:23
icWasya icWasya вне форума
Местный
 
Регистрация: 09.11.2010
Сообщения: 499
Репутация: 10
По умолчанию

Код:
Grid[0].OnDrawCell:=DrawGrid1DrawCell;
Ответить с цитированием
Этот пользователь сказал Спасибо icWasya за это полезное сообщение:
lostbananan (05.03.2013)
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 20:43.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025