Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

Re: "Icon-Dll" Inhalt auflisten

  Alt 21. Mär 2006, 16:49
Etwas optimiert.
function WriteIconList liefert nun die Anzahl der gefundenen Icons.
function IconExists vereinfacht.

Delphi-Quellcode:
function IconExists(const ICO_DLL: string; Position: integer): Boolean;
var
   handle : HICON;
begin
  handle:=ExtractIcon(Application.Handle,PAnsiChar(ICO_DLL),Position);
  Result := handle <> 0;
  DeleteObject(handle);
end;

function WriteIconList(IconDll: string; ListView: TListView; ImageList: TImageList): integer;
var
  i: integer;
  ICO: TIcon;
  L: TListItem;
begin
  Result := 0;
  //Pruefen ob TListView und TImageList "verbunden" sind
  if (Assigned(ListView)) and (Assigned(ImageList)) then
  begin
    //Erzeugen der Komponenten / Leeren der ImageList / Startparameter setzten
    ImageList.Clear;
    ICO:= TIcon.Create;

    //ImageList mit den Symbolen erzeugen
    while IconExists(IconDll, Result) do
    begin
        ICO.Handle:=ExtractIcon(Application.Handle,PAnsiChar(IconDLL),result);
        ImageList.AddIcon(ICO);
        Inc(Result);
    end;

    //Symbole in ListView schreiben
    for i:=0 to Result-1 do
      begin
        L:=ListView.Items.Add;
        L.Caption:='Symbol '+IntToStr(i);
        L.ImageIndex:=i;
      end;

    //Freigabe des Speichers
    ICO.Free;
  end;
end;
Andreas
  Mit Zitat antworten Zitat