Delphi VirtualStringTree OnMouseEnter and OnMouseLeave

Hi, please, is there a version of VirtualStringTree containing these 2 mouse events:

OnMouseLeave and OnMouseLeave ?

thank you very much

+4
source share
1 answer

These events are easy enough to add if your row tree does not yet support them.

  TMyImprovedVirtualStringTree = class(TSomeVirtualStringTree) private FOnMouseEnter: TNotifyEvent; FOnMouseLeave: TNotifyEvent; // Watch for MouseEnter and MouseLeave messages... procedure CMMouseEnter(var Message: TMessage); message CM_MOUSEENTER; procedure CMMouseLeave(var Message: TMessage); message CM_MOUSELEAVE; protected // Provide MouseEnter() and MouseLeave() methods // for descendent controls to override if needed. procedure MouseEnter; virtual; procedure MouseLeave; virtual; published // Publish the events so they show in Delphi object inspecter. property OnMouseEnter: TNotifyEvent read FOnMouseEnter write FOnMouseEnter; property OnMouseLeave: TNotifyEvent read FOnMouseLeave write FOnMouseLeave; end; implementation { TMyImprovedVirtualStringTree } procedure TMyImprovedVirtualStringTree.CMMouseEnter(var Message: TMessage); begin inherited; MouseEnter; end; procedure TMyImprovedVirtualStringTree.CMMouseLeave(var Message: TMessage); begin inherited; MouseLeave; end; procedure TMyImprovedVirtualStringTree.MouseEnter; begin if Assigned(FOnMouseEnter) then FOnMouseEnter(Self); end; procedure TMyImprovedVirtualStringTree.MouseLeave; begin if Assigned(FOnMouseLeave) then FOnMouseLeave(Self); end; 
+4
source

Source: https://habr.com/ru/post/1490403/


All Articles