![]() |
VirtualStringTree MouseMove die Column ermitteln
Hi,
ich möchte gerne im OnMouseMove im VST die Column ermitteln, um dann einen anderen Cursor anzuzeigen. Hat jemand eine Idee, wie ich an die gewünschte Information in dem Event komme? |
AW: VirtualStringTree MouseMove die Column ermitteln
Hallo Hobbycoder,
ich würde dafür das OnGetCursor Event verwenden. Das ist genau für so etwas gemacht. Anbei mal ein Beispiel wie ich das gemacht habe. Das solltest du ja auf dich umbauen können.
Delphi-Quellcode:
procedure TfrmMain.vstGetCursor(Sender: TBaseVirtualTree; var Cursor: TCursor);
var vst: TVirtualStringTree; NodeData: PAppointment; MousePos: TPoint; begin vst := Sender as TVirtualStringTree; if (Assigned(vst.HotNode)) then begin NodeData := vst.GetNodeData(vst.HotNode); MousePos := Mouse.CursorPos; if (vst.Header.Columns.ColumnFromPosition(vst.ScreenToClient(MousePos)) = 4) and (NodeData^.LinkAvailable) then begin Cursor := crHandPoint end else Cursor := crDefault; end; end; |
AW: VirtualStringTree MouseMove die Column ermitteln
Hallo,
wie wäre es mit GetHitTestInfoAt? |
AW: VirtualStringTree MouseMove die Column ermitteln
Zitat:
|
AW: VirtualStringTree MouseMove die Column ermitteln
Danke.
OnGetCursor hatte ich schon im Visier, allerdings wunderte ich mich über die dort fehlenden Parameter HitInfo, wie bei OnGetPopupMenu. Und GetHitTestInfoAT war mir bis dato unbekannt. Danke für die Hilfe. So hab ich es jetzt gemacht:
Delphi-Quellcode:
procedure TForm1.vrtlstrngtrWunschlisteGetCursor(Sender: TBaseVirtualTree;
var Cursor: TCursor); var HitInfo: THitInfo; begin if VST.Cursor<>crHourGlass then begin VST.GetHitTestInfoAt( VST.ScreenToClient(Mouse.CursorPos).X, VST.ScreenToClient(Mouse.CursorPos).Y, True, HitInfo ); if HitInfo.HitColumn=1 then VST.Cursor:=crHandPoint else VST.Cursor:=crDefault; end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:53 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz