2015-01-23 1 views
1

아래쪽에서 목록 상자 항목을 추가하고 첫 번째 항목을 추가하면 목록 상자가 위로 스크롤됩니다. 따라서 일반적으로 목록 상자에 항목을 추가하는 것과 반대입니다.Delphi XE7의 목록 상자 아래쪽에서 listboxitem을 추가 할 수 있습니까?

누구든지이 작업을 수행하는 방법을 알고 있습니까? 0의 인덱스

+0

정확하게 이해하면 원하는 항목 만 자동 스크롤을 목록 상자에 추가하여 마지막 항목을 항상 볼 수 있습니다. 그것이 끝나면 바로 마지막 항목을 선택하십시오. 뷰를 아래로 스크롤해야합니다. – SilverWarior

+0

@SilverWarior 아니요, 자동 스크롤이 아닙니다. 상단에서부터 위로부터 항목을 추가하는 방법을 알고 싶습니다. – Remi

+0

첫 번째 항목을 맨 아래, 두 번째 항목 등으로 지정 하시겠습니까? – SilverWarior

답변

1

는 사용 TStrings를 Insert 또는 InsertObject 방법 :

ListBox1.Items.Insert(0,'New Item'); 
+0

그러나 빈 목록을 테스트하여 다음과 같이 첫 번째 항목을 추가하십시오. IF ListBox1.Items.Count = 0 THEN ListBox1.Items.Add ('1st item') ELSE ListBox1.Items.Insert (0, '새 항목 - 맨 위'); 당신이 빈 목록에 삽입 할 수 있다고 생각하지 않기 때문에 (올바른지, 내가 틀렸다면) – HeartWare

+1

이 질문은 첫 번째 위치에 항목을 삽입하는 방법이 아니라 실제로 목록 상자를 뒤집는 방법을 묻습니다 (그렇게 첫 번째로 추가 된 항목이 목록의 맨 아래에 나타납니다). – TLama

+0

@HeartWare 빈 목록에 '0'을 삽입해도 문제가 없습니다. –

0

TListBox 아마이 시작하는 잘못된 장소입니다. 대신 TScrollBox를 사용하십시오. 항목을 하위 항목으로 추가하십시오. 항목을 추가 할 때마다 (아래) 항목 높이에 따라 각 항목의 Position.Y를 다시 계산하십시오.

(Rethinking) : 실제로 삽입 할 때마다 위치를 다시 계산하고 ScrollBy를 호출하는 경우 TListBox를 사용하는 것이 가능할 수 있습니다.

관련 문제