掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
Listviewコンポーネントのアイテム間隔を変更するには? (ID:23015)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
追加レスです。少し長くなりますが、あるサイトを参考にテストしているプログラムです。よろしくお願いいたします。 procedure TForm1.Button1Click(Sender: TObject); var SearchRec: TSearchRec; begin ListView1.Items.Clear; if FindFirst('C:\Documents and Settings\go\デスクトップ\Temp' + '\*', faDirectory, SearchRec) = 0 then begin repeat if (SearchRec.Attr and faDirectory) = 0 then ListView1.Items.Add; until FindNext(SearchRec) <> 0; FindClose(SearchRec); end; end; procedure TForm1.ListView1CustomDrawItem(Sender: TCustomListView; Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean); var SHFileInfo: TSHFileInfo; //全てのファイル表示追加 IconHandle: HICON; //全てのファイル表示追加 ARect: TRect; begin ListView1.Canvas.Brush.Color := GetSysColor(COLOR_WINDOW); ARect := Item.DisplayRect(drIcon); ARect.Left := ARect.Left + Trunc((ARect.Right - ARect.Left - ImageList1.Width) / 2); ARect.Right := ARect.Left + ImageList1.Width; ARect.Top := ARect.Top + Trunc((ARect.Bottom - ARect.Top - ImageList1.Height) / 2); ARect.Bottom := ARect.Top + ImageList1.Height; ListView1.Canvas.FillRect(ARect); // アイコン描画 SHGetFileInfo( PChar(ExtractFileExt(Item.Caption)), 0, SHFileInfo, Sizeof(TSHFileInfo), SHGFI_SYSICONINDEX or SHGFI_USEFILEATTRIBUTES or SHGFI_ICON or SHGFI_TYPENAME); IconHandle := SHFileInfo.hIcon; DrawIconEx( ListView1.Canvas.Handle, ARect.Left + (ARect.Right - ARect.Left - 32) div 2, ARect.Top + (ARect.Bottom - ARect.Top - 32) div 2, IconHandle, 32, 32, 0, 0, DI_NORMAL); DestroyIcon(IconHandle); end; procedure TForm1.FormCreate(Sender: TObject); begin ListView1.LargeImages.Height:=100; ListView1.LargeImages.Width:=100; ListView1.ViewStyle:=vsIcon; ListView1.IconOptions.Arrangement:=iaTop; ListView1.IconOptions.AutoArrange:=true; ListView1.OwnerData:=true; ListView1.OwnerDraw:=true; end;
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.