乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      ListView用法[delphi

       遠在南非 2010-07-09
      ListView用法[delphi]
      2010-06-24 22:56

      //增加
      i := ListView1.Items.Count;
      with ListView1 do
      begin
      ListItem:=Items.Add;
      ListItem.Caption:= IntToStr(i);
      ListItem.SubItems.Add('第 '+IntToStr(i)+' 行');
      ListItem.SubItems.Add('第三列內(nèi)容');
      end;      //注:必須用with

      //按標題刪除
      for i:=ListView1.Items.Count-1 downto 0 Do
      if ListView1.Items[i].Caption = Edit1.Text then
      begin
      ListView1.Items.Item[i].Delete(); //刪除當前選中行
      end;

      //選中一行
      if ListView1.Selected <> nil then
      Edit1.Text := ListView1.Selected.Caption;


      // listview1.Items[Listview1.Items.Count -1].Selected := True;
      // listview1.Items[Listview1.Items.Count -1].MakeVisible(True);
      procedure TForm1.Button2Click(Sender: TObject); // 選擇第一條
      begin
      listview1.SetFocus;
      listview1.Items[0].Selected := True;
      end;

      procedure TForm1.Button1Click(Sender: TObject); // 選擇最后一條
      begin
      listview1.SetFocus;
      listview1.Items[Listview1.Items.Count -1].Selected := True;
      end;

      //這是個通用的過程
      procedure ListViewItemMoveUpDown(lv : TListView; Item : TListItem; MoveUp, SetFocus : Boolean);
      var
      DestItem : TListItem;
      begin
      if (Item = nil) or
      ((Item.Index - 1 < 0) and MoveUp) or
      ((Item.Index + 1 >= lv.Items.Count) and (not MoveUp))
      then Exit;
      lv.Items.BeginUpdate;
      try
      if MoveUp then
      DestItem := lv.Items.Insert(Item.Index - 1)
      else
      DestItem := lv.Items.Insert(Item.Index + 2);
      DestItem.Assign(Item);
      lv.Selected := DestItem;
      Item.Free;
      finally
      lv.Items.EndUpdate;
      end;
      if SetFocus then lv.SetFocus;
      DestItem.MakeVisible(False);
      end;

      //此為調(diào)用過程,可以任意指定要移動的Item,下面是當前(Selected)Item
      ListViewItemMoveUpDown(ListView1, ListView1.Selected, True, True);//上移
      ListViewItemMoveUpDown(ListView1, ListView1.Selected, False, True);//下移


      TListView組件使用方法

      引用CommCtrl單元

      procedure TForm1.Button1Click(Sender: TObject);
      begin
      ListView_DeleteColumn(MyListView.Handle, i);//i是要刪除的列的序號,從0開始

      end;

      用LISTVIEW顯示表中的信息:
      procedure viewchange(listv:tlistview;table:tcustomadodataset;var i:integer);
      begin
      tlistview(listv).Items.BeginUpdate; {listv:listview名}
      try
      tlistview(listv).Items.Clear;
      with table do {table or query名}
      begin
      active:=true;
      first;
      while not eof do
      begin
      listitem:=tlistview(listv).Items.add;
      listitem.Caption:=trim(table.fields[i].asstring);
      // listitem.ImageIndex:=8;
      next;
      end;
      end;
      finally
      tlistview(listv).Items.EndUpdate;
      end;
      end;



      ListView使用中的一些要點。以下以一個兩列的ListView為例。
      →增加一行:
      with ListView1 do
      begin
      ListItem:=Items.Add;
      ListItem.Caption:='第一列內(nèi)容';
      ListItem.SubItems.Add('第二列內(nèi)容');
      end;
      →清空ListView1:
      ListView1.Items.Clear;
      →得到當前被選中行的行的行號以及刪除當前行:
      For i:=0 to ListView1.Items.Count-1 Do
      If ListView1.Items[i].Selected then //i=ListView1.Selected.index
      begin
      ListView1.Items.Delete(i); //刪除當前選中行
      end;
      當然,ListView有OnSelectItem事件,可以判斷選擇了哪行,用個全局變量把它賦值出來。
      →讀某行某列的操作:
      Edit1.Text := listview1.Items[i].Caption; //讀第i行第1列
      Edit2.Text := listview1.Items[i].SubItems.strings[0]; //讀第i行第2列
      Edit3.Text := listview1.Items[i].SubItems.strings[1]; //讀第i行第3列
      以次類推,可以用循環(huán)讀出整列。
      →將焦點上移一行:
      For i:=0 to ListView1.Items.Count-1 Do
      If (ListView1.Items[i].Selected) and (i>0) then
      begin
      ListView1.SetFocus;
      ListView1.Items.Item[i-1].Selected := True;
      end;
      不過在Delphi6中,ListView多了一個ItemIndex屬性,所以只要
      ListView1.SetFocus;
      ListView1.ItemIndex:=3;
      就能設(shè)定焦點了。


      Delphi的listview能實現(xiàn)交替顏色么?
      procedure TForm1.ListView1CustomDrawItem(
      Sender: TCustomListView; Item: TListItem; State: TCustomDrawState;
      var DefaultDraw: Boolean);
      var
      i: integer;
      begin
      i:= (Sender as TListView).Items.IndexOf(Item);
      if odd(i) then sender.Canvas.Brush.Color:= $02E0F0D7
      else sender.Canvas.Brush.Color:= $02F0EED7;
      Sender.Canvas.FillRect(Item.DisplayRect(drIcon));
      end;

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多