Java_SCU(Java)能解释一下你程序是什么意思嘛?
这下差不多了:
uses commctrl;function GetNode(ItemId: HTreeItem): TTreeNode;
var
Item: TTVItem;
begin
with Item do
begin
hItem := ItemId;
mask := TVIF_PARAM;
end;
if TreeView_GetItem(Form1.TreeView1.Handle, Item) then Result := TTreeNode(Item.lParam)
else Result := nil;
end;function GetLastVisible(): TTreeNode;
var
hItem, t: HTreeItem;
prc: TRect;
begin
hItem:= nil;
t:= Form1.TreeView1.TopItem.ItemId;
while true do
begin
hItem:= t;
t:= TreeView_GetNextVisible(Form1.TreeView1.Handle, t);
if not Bool(TreeView_GetItemRect(Form1.TreeView1.Handle, t, prc, true)) then
break;
if prc.Top > Form1.TreeView1.ClientRect.Bottom then
break;
end;
if hItem <> nil then
Result:= GetNode(hItem)
else
Result:= nil;
end;procedure TForm1.Button2Click(Sender: TObject);
var
Item: TTreeNode;
begin
Item:= GetLastVisible();
Label1.Caption:= Item.Text;
end;
这下差不多了:
uses commctrl;function GetNode(ItemId: HTreeItem): TTreeNode;
var
Item: TTVItem;
begin
with Item do
begin
hItem := ItemId;
mask := TVIF_PARAM;
end;
if TreeView_GetItem(Form1.TreeView1.Handle, Item) then Result := TTreeNode(Item.lParam)
else Result := nil;
end;function GetLastVisible(): TTreeNode;
var
hItem, t: HTreeItem;
prc: TRect;
begin
hItem:= nil;
t:= Form1.TreeView1.TopItem.ItemId;
while true do
begin
hItem:= t;
t:= TreeView_GetNextVisible(Form1.TreeView1.Handle, t);
if not Bool(TreeView_GetItemRect(Form1.TreeView1.Handle, t, prc, true)) then
break;
if prc.Top > Form1.TreeView1.ClientRect.Bottom then
break;
end;
if hItem <> nil then
Result:= GetNode(hItem)
else
Result:= nil;
end;procedure TForm1.Button2Click(Sender: TObject);
var
Item: TTreeNode;
begin
Item:= GetLastVisible();
Label1.Caption:= Item.Text;
end;
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货