Delphi TreeView 节点上下移动

调用方法

procedure TfrmDataImport.B_ExcelDownClick(Sender: TObject);
begin
  UpDownTVItem(TV_Import, 2);
end;

procedure TfrmDataImport.B_ExcelUpClick(Sender: TObject);
begin
  UpDownTVItem(TV_Import, 1);
end;

  

 

上下移动函数

 

procedure TfrmDataImport.UpDownTVItem(aTV : TTreeView; UpDown : Integer);
var
  tmText : String;
  tmP    : Pointer;
  i, AddV : Integer;
  tmAsk : Boolean;
begin
  //  UpDown : 1 Up    Other Down
  if Assigned(aTV.Selected) then
  begin
    tmAsk := False;
    if UpDown = 1 then
    begin
      AddV := -1;
      if aTV.Selected.Index > 0 then
        tmAsk := True;
    end
    else
    begin
      AddV := 1;
      if aTV.Selected.Index < aTV.Items.Count - 1 then
        tmAsk := True;
    end;

    if tmAsk then
    begin
      i := aTV.Selected.Index;
      tmText := aTV.Selected.Text;
      tmP    := aTV.Selected.Data;
      aTV.Items.Item[i].Text := aTV.Items.Item[i + AddV].Text;
      aTV.Items.Item[i].Data := aTV.Items.Item[i + AddV].Data;
      aTV.Items.Item[i + AddV].Text := tmText;
      aTV.Items.Item[i + AddV].Data := tmP;
      aTV.Items.Item[i + AddV].Selected := True;
    end;
  end;
end;

 

posted on 2018-03-20 15:00  Yanyyx 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/yanyyx/p/8609331.html

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
©️2021 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值