Показать сообщение отдельно
  #2  
Старый 23.05.2011, 07:04
Аватар для dr. F.I.N.
dr. F.I.N. dr. F.I.N. вне форума
I Like it!
 
Регистрация: 12.12.2009
Адрес: Россия, г. Новосибирск
Сообщения: 663
Версия Delphi: D6/D7
Репутация: 26643
По умолчанию

Код:
Type
  TNotifyEvent=procedure(Sender:TObject) of object;

  CBObj=class
  private   
   CB,CB0,CB1: TComboBox;
    relCB0,relCB1: array[1..2] of integer;
    res:integer;
    FOnChange: TNotifyEvent;
    Constructor Create(j:integer);
    CBClick:  TNotifyEvent;
    procedure DoOnChange(Sender:TObject);
   Protected
      Procedure DoCBClick(Sender: TObject); dynamic;
   public
      property OnCBClick:  TNotifyEvent read CBClick write CBClick;
      Procedure GenerateCBClick(i,j:integer);
      property OnChange: TNotifyEvent read FOnChange write FOnChange;
  end;
.......

constructor CBObj.Create(j:integer);
begin
  ...
  CB.OnChange := DoOnChange;
  CB0.OnChange := DoOnChange;
  CB1.OnChange := DoOnChange;
end;

procedure DoOnChange(Sender:TObject);
begin
  if Assigned(FOnChange) then FOnChange(Self);
end;

Писал на коленке. Изложил суть.
__________________
Грамотно поставленный вопрос содержит не менее 50% ответа.
Грамотно поставленная речь вызывает уважение, а у некоторых даже зависть.
Ответить с цитированием