procedure TfrmTables.tvTablesMouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var
vTreeNode: TTreeNode;
begin
vTreeNode := tvTables.GetNodeAt(X, Y);
if Assigned(vTreeNode) and (Button = mbLeft) then
if (htOnLabel in tvTables.GetHitTestInfoAt(X, Y)) then
vTreeNode.Selected := True
else vTreeNode.Selected := False;
end;
procedure TForm1.TreeView1Click(Sender: TObject);
begin
if treeview1.Selected<>nil then
if not treeview1.Selected.HasChildren
begin
//some code
end;
end;