Delphi 7 에서 Listview 의 일반적인 기능 집합
MultiSelect := True; Listview 가 여러 줄 을 동시에 선택 할 수 있 도록 합 니 다.
GridLines := True; Listview 로 격자 선 보이 기
ViewStyle := vsReport; 데이터 항목 의 자세 한 목록 보이 기
HideSelection := True; listview 초점 을 잃 었 을 때 선택 한 줄 이 밝 지 않 습 니 다.
//
procedure TForm1.ListView1CustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
var
subRect, itemRect: TRect;
i, SubItem: Integer;
begin
DefaultDraw := False;
if Item.Selected then begin
Sender.Canvas.Font.Color := clRed; //
Sender.Canvas.Brush.Color := clgray; //clGreen;
end else begin
Sender.Canvas.Font.Color := clNavy; //
Sender.Canvas.Brush.Color := clWhite; //
end;
itemRect := Item.DisplayRect(drLabel);
subRect := itemRect;
for SubItem := 0 to (Sender as TListView).Columns.Count - 1 do
begin
subRect.Left := itemRect.Left;
for i := 1 to SubItem do
begin
subRect.Left := subRect.Left + (Sender as TListView).Column[i - 1].Width;
subRect.Right := subRect.Right + SubRect.Left + (Sender as TListView).Column[i].Width;
end;
if SubItem = 0 then
begin
subRect.Right := subRect.Right + 2;
Sender.Canvas.TextRect(subRect, subRect.Left, subRect.Top, Item.Caption);
end else
Sender.Canvas.TextRect(subRect, subRect.Left, subRect.Top, Item.SubItems[SubItem - 1]);
end;
end;
//
private
{ Private declarations }
SortCol: Integer;
SortWay: Integer;
procedure TForm1.ListView1ColumnClick(Sender: TObject;
Column: TListColumn);
begin
SortCol := Column.Index;
if (SortWay = 1) then SortWay := -1 else SortWay := 1;
(Sender as TCustomListView).AlphaSort;
end;
procedure TForm1.ListView1Compare(Sender: TObject; Item1, Item2: TListItem;
Data: Integer; var Compare: Integer);
var
t: Integer;
begin
if (SortCol = 0) then
begin
Compare := SortWay * CompareText(Item1.Caption, Item2.Caption);
end else
begin
t := SortCol - 1;
Compare := SortWay * CompareText(Item1.SubItems[t], Item2.SubItems[t]);
end;
end;
이 기능 에 문제 가 존재 한다.숫자 정렬 은 문자 와 유사 하 게 배열 된다.예 를 들 어 1,10,102,3,34,356.관심 있 는 독 자 는 보완 할 수 있다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[Delphi] TStringBuilder그리고 꼭 사용해야만 할까? 그림처럼 Heap 영역에 "Hello" 공간을 생성하고 포인팅을 한다. "Hello World" 공간을 새로 생성한 후 포인팅을 하게 된다. 결국 "Hello" 라는 String 객체가 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.