Главная страница
    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.037 c
3-1097821814
Viktor1
2004-10-15 10:30
2004.11.14
Помогите с запросом (перекрёстный)!!!


1-1099415733
Vasya.ru
2004-11-02 20:15
2004.11.14
получить и сложить часы, минуты, секунды, милисекунды


1-1099392641
dolphin
2004-11-02 13:50
2004.11.14
Собития в динамически создаваемых формах


14-1098804150
Aldor
2004-10-26 19:22
2004.11.14
В России сейчас действительны монеты 1992 года?


1-1099377678
Gawk
2004-11-02 09:41
2004.11.14
Выполнение действия через определённые промежутки времени...





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский