掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
仮想リストビューを使ったときのデータのクリアの仕方 (ID:32106)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
私的にはじゅうぶん早いです。 unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ComCtrls; type TForm1 = class(TForm) procedure FormCreate(Sender: TObject); procedure FormDestroy(Sender: TObject); private { Private 宣言 } aListView:TListView; aButton :TButton; ListStringList : TStringList; procedure SetData; procedure aButtonClick(Sender: TObject); procedure aListViewData(Sender: TObject; Item: TListItem); public { Public 宣言 } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.aButtonClick(Sender: TObject); begin aListView.Items.Count := ListStringList.Count; end; procedure TForm1.aListViewData(Sender: TObject; Item: TListItem); begin Item.Caption := ListStringList.Strings[Item.Index]; end; procedure TForm1.FormCreate(Sender: TObject); var Column:TListColumn; begin ListStringList:= TStringList.Create; SetData; aListView := TListView.Create(self); aListView.Align := alClient; aListView.ViewStyle := vsReport; Column:= aListView.Columns.Add; Column.Width := 200; aListView.OnData := aListViewData; aListView.OwnerData:=True; aListView.Parent := Self; aButton := TButton.Create(Self); aButton.Caption := 'SetData'; aButton.Anchors := [akRight,akBottom]; aButton.Left := aListView.Width - aButton.Width - 30; aButton.Top := aListView.Height - aButton.Height - 30; aButton.Parent := aListView; aButton.OnClick := aButtonClick; end; procedure TForm1.FormDestroy(Sender: TObject); begin aButton.Free; aListView.Free; ListStringList.Free; end; procedure TForm1.SetData; var DataCount,DataLen,i,p : Integer; str,DataStr,bufstr:string; begin DataCount := 999999; //好きな値を入れる DataLen := Length(InttoStr(DataCount)); bufstr := '%.' + IntToStr(DataLen) + 'd'; SetLength(str,(DataCount*DataLen + DataCount*2)*2); for i := 1 to DataCount do begin DataStr := Format(bufstr,[i]); for p := 1 to DataLen do str[(i-1)*(DataLen+2)+p] := DataStr[p]; str[(i-1)*(DataLen+2)+DataLen+1] := #$D; str[(i-1)*(DataLen+2)+DataLen+2] := #$A; end; ListStringList.Text := str; end; end.
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.