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;