#bas unit hiButtonDD; interface uses Windows,Kol,Share,Win; {$I share.inc} type THIButtonDD = class(THIWin) private procedure _OnClick(Obj:PObj); public _data_Data, _event_onClick:THI_Event; _prop_Data:TData; _prop_Caption:string; _prop_DefaultBtn:boolean; procedure Init; override; procedure _work_doCaption(var _Data:TData; Index:word); end; implementation procedure THIButtonDD.Init; begin Control := NewButton(FParent,_prop_Caption); Control.OnClick := _OnClick; Control.DefaultBtn := _prop_DefaultBtn; Control.Style := Control.Style or BS_MULTILINE; inherited; end; procedure THIButtonDD._work_doCaption; begin Control.Caption := ToString(_Data); end; procedure THIButtonDD._OnClick; var dt:TData; begin if Assigned(_data_Data.Event) then begin dt := ReadData(dt, _data_Data); _hi_OnEvent(_event_onClick, dt); end else _hi_OnEvent_(_event_onClick,_prop_Data); end; end.