TXXX=Class(TCoustompanel) private FOnDblClick: TNotifyEvent; procedure WMLButtonDblClk(var Message: TWMLButtonDblClk); message WM_LBUTTONDBLCLK; procedure DblClick; published ....... property OnDblClick: TNotifyEvent read FOnDblClick write FOnDblClick; procedure TXXX.WMLButtonDblClk(var Message: TWMLButtonDblClk); begin SendCancelMode(Self); inherited; if csCaptureMouse in ControlStyle then MouseCapture := True; if csClickEvents in ControlStyle then DblClick; DoMouseDown(Message, mbLeft, [ssDouble]); end;procedure TXXX.DblClick; begin if Assigned(FOnDblClick) then FOnDblClick(Self); end; 只能这样了,你试试吧! 我没试,只是知道应该这样写。
published
......
property OnDblClick;
end;将OnDblClick属性添加到你的组件定义部分。
ondbclick不属于tcustompanel的事件类,所以zzj627提供的不合适
private
FOnDblClick: TNotifyEvent;
procedure WMLButtonDblClk(var Message: TWMLButtonDblClk); message WM_LBUTTONDBLCLK;
procedure DblClick;
published
.......
property OnDblClick: TNotifyEvent read FOnDblClick write FOnDblClick;
procedure TXXX.WMLButtonDblClk(var Message: TWMLButtonDblClk);
begin
SendCancelMode(Self);
inherited;
if csCaptureMouse in ControlStyle then MouseCapture := True;
if csClickEvents in ControlStyle then DblClick;
DoMouseDown(Message, mbLeft, [ssDouble]);
end;procedure TXXX.DblClick;
begin
if Assigned(FOnDblClick) then FOnDblClick(Self);
end;
只能这样了,你试试吧!
我没试,只是知道应该这样写。