컴파일 및 실행한 후에 리스트뷰에 글을 추가하고나서
타이머를 이용해서 선택라인을 한칸씩 내려가는건데
선택라인이 리스트뷰의 마지막라인으로 이동했을때 오류납니다 ㅜㅡ
뭐가 잘못된건가요?
허접초보소스 올릴께요 ㅠ.ㅠ
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ComCtrls, ExtCtrls;
type
TForm1 = class(TForm)
ListView1: TListView;
BitBtn1: TBitBtn;
Edit1: TEdit;
Edit2: TEdit;
BitBtn2: TBitBtn;
Timer1: TTimer;
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
ListItem: TListItem;
i: integer;
implementation
{$R *.dfm}
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
ListItem := ListView1.Items.Add;
ListItem.Caption := Edit1.Text;
ListView1.ItemIndex := ListView1.Items.Count - 1;
end;
procedure TForm1.BitBtn2Click(Sender: TObject);
begin
ListView1.ItemIndex := ListView1.Items.Count - ListView1.Items.Count;
i := -1;
Edit2.Text := ListItem.Caption;
Timer1.Enabled := True;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
if i < ListView1.Items.Count then begin
i := i + 1;
ListView1.ItemIndex := i;
end;
end;
end.
맞을지 모르겠네요
제 생각엔
end.
에서요 ListView1.Items.Count -1 을 해 줘야 할꺼 같은데요
보통 카운트는 10이지만 그 라인은 9가 되잖아요
카운트를 라인을 1부터 시작하고
보통 인텍스나 라인은 0부터 시작하잖아요
맞는지 모르