Ikonka programu w list boxie.

0

Witam,
Jest tak. mam procedure:

procedure TMIDmain.FormCreate(Sender: TObject);
var
 _HWND : THandle;
 Proc : TProcessEntry32;
begin
 _HWND := CreateToolHelp32SnapShot(TH32CS_SNAPALL,0);
 Proc.dwSize:=SizeOf(Proc);
 if Integer(Process32First(_HWND, Proc)) <> 0 then
 repeat
 aplikacje.Items.Add(Proc.szExeFile); 
 until Integer(Process32Next(_HWND, Proc)) = 0; 
 CloseHandle(_HWND);
end;

Kodzik sprawdza uruchomione aplikacje :))
Chcę jeszce aby dodawał on ikonkę programu.
Dzieki za odpowiedz !!

0

Użyj OwnerDraw. Uchwyt ikony (liczba 32 bitowa :) ) możesz dodać przez AddObject(). Tylko zrzutuj typ HICON na TObject

0

Dzięki ! ale w delphi jestem początkujący , mogłbyśmi napisać kod jak ma to wyglądać ??

0

Hmmm.... Najpierw pobieramy ikonę z pliku EXE:

var
  Icon: HICON;
begin
  ...
  Icon := ExtractIcon(HInstance, Proc.szExeFile, 0);
  // teraz dodajemy ją jako obiekt do ListBoxa czy co to tam jest :)
  Aplikacje.Items.AddObject(Proc.szExeFile, TObject(Icon)); 
  ...

A co do samego rysowania... W artykułach było o trybie OwnerDraw, zapraszam do przeczytania :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1