Для создания наследуемой формы воспользуемся следующим механизмом:
В итоге создается новый модуль.
Далее необходимо написать собственные обработчики.
type TfrmWindow1 = class(TfrmParent) ... public function ButtonUpdate(PrButton: TPrButton): Boolean; override; procedure ButtonExecute(PrButton: TPrButton); override; end; |
function TfrmWindow1.ButtonUpdate(PrButton: TPrButton): Boolean; begin Result := (PrButton = prPrint) and cbCanPrint. Checked or (PrButton = prPreview) and cbCanPreview. Checked or (PrButton = prExport) and cbCanExport. Checked; end; procedure TfrmWindow1.ButtonExecute(PrButton: TPrButton); begin case PrButton of prPrint: ShowMessage( Caption + ' Print'); prPreview: ShowMessage( Caption + ' Preview'); prExport: ShowMessage( Caption + ' Export'); end; end; |
Таким образом при создании нескольких окон класса TfrmWindow1 для каждого окна будет свой обработчик событий.