Конференция "Компоненты" » Наследник StringGrid [D7]
 
  • dimaL (31.07.07 10:55) [0]
    Неоходимо создать наследника SG с доступным событием OnColWidthChange. Делаю так:
    unit StringGrid1;

    interface

    uses
     SysUtils, Classes, Controls, Grids;

    type
     TStringGrid1 = class(TStringGrid)
     private
       FOnColWidthsChange: TNotifyEvent;
     protected
       procedure ColWidthsChanged; override;
     public
     published
       property OnColWidthsChange: TNotifyEvent read FOnColWidthsChange
         write FOnColWidthsChange;

     end;

    procedure Register;

    implementation
    procedure TStringGrid1.ColWidthsChanged;
    begin
     inherited ColWidthsChanged;
    end;
    procedure Register;
    begin
     RegisterComponents('MyComponent', [TStringGrid1]);
    end;

    end.


    Событие появляется в инспекторе, но не происходит.
  • Однокамушкин (31.07.07 11:09) [1]
    Дык, само по себе ничего не будет происходить, надо явно вызывать это событие, когда нужно... Например, так:

    procedure TStringGrid1.ColWidthsChanged;
    begin
     inherited ColWidthsChanged;
     if Assigned(FOnColWidthChange) then
       FOnColWidthChange(Self);
    end;

 
Конференция "Компоненты" » Наследник StringGrid [D7]
Есть новые Нет новых   [119108   +104][b:0][p:0.001]