Текущий архив: 2004.11.14;
Скачать: CL | DM;
Внизlistview + ShGetFileInfo Найти похожие ветки
← →
Redlord (2004-10-28 20:38) [0]всем приве
искал инфу по listview + ShGetFileInfo
в инете тока этот пример везде лежит.
но он у меня не пашет (windows XP).
точнее пашет тока иконок от него не дождешся
подскажите в чом ошибка ???
буду рад рабочему примеру
procedure TForm1.FormCreate(Sender: TObject);
var
fi: TSHFileInfo;
lc: TListColumn;
ImageListHandle:thandle;
begin
DriveComboBox1.DirList := DirectoryListBox1;
listview1.SmallImages := TImageList.Create(nil);
listview1.SmallImages.Handle := ShGetFileInfo("*.*", 0, fi,
SizeOf(fi), SHGFI_SYSICONINDEX or SHGFI_SMALLICON);
listview1.LargeImages := TImageList.Create(nil);
listview1.LargeImages.Handle := ShGetFileInfo("*.*", 0, fi,
SizeOf(fi), SHGFI_SYSICONINDEX or SHGFI_SMALLICON);
lc := listview1.Columns.Add;
lc.Caption := "Name";
lc := listview1.Columns.Add;
lc.Caption := "Size";
UpdateFiles;
end;
← →
VMcL © (2004-10-28 23:57) [1]>>Redlord (28.10.04 20:38)
>подскажите в чом ошибка ???
Во-первых, в слове "чом".
Во-вторых, в том, что нет такого файла *.*
← →
Redlord (2004-10-29 00:36) [2]при указании любого существующего файла (shell32.dll) иконка всегда отображается одна и таже на все типы файлов (знак расшаренного ресурса)
← →
VMcL © (2004-10-29 07:46) [3]>>Redlord (29.10.04 00:36) [2]
>всегда отображается одна и таже на все типы файлов
А знаешь почему? Потому что тебе лень нажать F1.procedure TForm1.Button1Click(Sender: TObject);
var
fi: TSHFileInfo;
begin
ImageList1.Handle := ShGetFileInfo(
"C:\1.doc",
0, fi,
SizeOf(fi), SHGFI_SYSICONINDEX or SHGFI_SMALLICON);
ListView1.Items[0].ImageIndex := fi.iIcon;
end;
Форма:object Form1: TForm1
Left = 1
Top = 106
Width = 716
Height = 414
Caption = "Form1"
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = "MS Sans Serif"
Font.Style = []
OldCreateOrder = False
PixelsPerInch = 96
TextHeight = 13
object ListView1: TListView
Left = 5
Top = 10
Width = 661
Height = 321
Columns = <>
Items.Data = {
210000000100000000000000FFFFFFFFFFFFFFFF000000000000000004746573
74}
SmallImages = ImageList1
TabOrder = 0
ViewStyle = vsSmallIcon
end
object Button1: TButton
Left = 5
Top = 340
Width = 75
Height = 25
Caption = "Button1"
TabOrder = 1
OnClick = Button1Click
end
object ImageList1: TImageList
Left = 40
Top = 115
end
end
Естественно, чтобы пример функционировал, нужно чтобы существовал файл "C:\1.doc".
Страницы: 1 вся ветка
Текущий архив: 2004.11.14;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.043 c