Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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
14-1098790139
Григорьев Антон
2004-10-26 15:28
2004.11.14
Ну китайцы дают!


3-1097649858
AlexG
2004-10-13 10:44
2004.11.14
Подключение к БД в потоке


1-1099417780
Nic2
2004-11-02 20:49
2004.11.14
Записи


1-1098893884
333and
2004-10-27 20:18
2004.11.14
Аналог функции на С++ в Delphi


3-1098104433
denis24
2004-10-18 17:00
2004.11.14
определение названия тейбла в dbedite связаного с Datasours





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский