AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte kleiner Web Designer
Thema durchsuchen
Ansicht
Themen-Optionen

kleiner Web Designer

Ein Thema von Matze · begonnen am 7. Feb 2005 · letzter Beitrag vom 8. Feb 2005
Antwort Antwort
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#1

Re: kleiner Web Designer

  Alt 8. Feb 2005, 15:00
Zitat von Matze:
Über den Code mit den SystemImages wäre ich dankbar.
Also hier die benötigten Code-Teile - bei meinen Projekten funktionierts
Delphi-Quellcode:
uses Windows, Menus, ShellAPI, ImgList;

// Im OnCreate des Forms
// "GlobalImageList" ist hier eine Membervariable des Forms vom Typ "TImageList"
var
  SHFileInfo: TSHFileInfo;
  SysIcons : THandle;
begin
  // Anderer Konstruktorcode
  // Korrektes anzeigen der Iconliste gewährleisten
  GlobalImageList := TImageList.Create(Self);
  GlobalImageList.Masked := False;
  try
    SysIcons := SHGetFileInfo(PChar(Copy(ParamStr(0), 1, 3)), 0, SHFileInfo,
      SizeOf(SHFileInfo), SHGFI_SYSICONINDEX or SHGFI_SMALLICON or
      SHGFI_ICON);
  finally
    DestroyIcon(SHFileInfo.hIcon);
  end;
  GlobalImageList.Handle := SysIcons;
  GlobalImageList.ShareImages := True;
end;

// Funktion, um den Index einer Dateierweiterung zu bekommen
function GetAssociatedIconIndex(const AExtension: string;
  ASmall: Boolean): Integer;
var
  Info: TSHFileInfo;
  Flags: Cardinal;
begin
  if ASmall then
    Flags := SHGFI_ICON or SHGFI_SMALLICON or SHGFI_USEFILEATTRIBUTES
  else
    Flags := SHGFI_ICON or SHGFI_LARGEICON or SHGFI_USEFILEATTRIBUTES;

  if SHGetFileInfo(PChar(AExtension), FILE_ATTRIBUTE_NORMAL, Info,
    SizeOf(TSHFileInfo), Flags) <> 0 then
  begin
    // Das Handle auf das Icon wird nicht benötigt!!
    DestroyIcon(Info.hIcon);
    // --------------------------------------------
    Result := Info.iIcon;
  end else Result := -1;
end;

// Ein Menuitem mit Index hinzufügen
var
  NewMenu: TMenuItem;
begin
  // ParentMenu.SubMenuImages := GlobalImageList;
  // Menü hinzufügen, Caption setzen, ...
  NewMenu.ImageIndex := GetAssociatedIconIndex('.txt', True); // z.B.
end;
Zitat:
Ja, genausowas habe ich in anderen Webdesignern auch gesehen, aber da sitz ich ja Stunden dran.
Nun gut, es ist Deine Entscheidung

mfG
mirage228
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:34 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz