AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Probleme beim Ermitteln von System-Icons unter Delhi 7.0
Thema durchsuchen
Ansicht
Themen-Optionen

Probleme beim Ermitteln von System-Icons unter Delhi 7.0

Ein Thema von ChristianWE · begonnen am 19. Aug 2004 · letzter Beitrag vom 19. Aug 2004
Antwort Antwort
ChristianWE

Registriert seit: 23. Apr 2004
2 Beiträge
 
Delphi 7 Enterprise
 
#1

Probleme beim Ermitteln von System-Icons unter Delhi 7.0

  Alt 19. Aug 2004, 21:12
Ich habe ein Problem beim Ermitteln der System-Icons unter Delphi 7.0 und kann daher in Trees und Listviews, die Dateien anzeigen, die zu den Dateien passenden Icons nicht anzeigen.
Bei der Verwendung des Codes, mit dem ich das früher unter Delphi 3.0 ermöglicht habe resultieren unter 7.0 nur 5 Icons.

Ich verwende folgenden Code:

Delphi-Quellcode:
function GetSystemIcons(var BildListe : TImageList;
Klein : Boolean) : Boolean;
VAR
 SysIl : uint;
 FiInf : TSHFileInfo;
begin
  Result := False;
  IF BildListe = NIL THEN Exit;
  IF Klein THEN
    SysIl := SHGetFileInfo('', 0, FiInf, SizeOf(FiInf),
      SHGFI_SYSICONINDEX OR SHGFI_SMALLICON)
  ELSE
    SysIl := SHGetFileInfo('', 0, FiInf, SizeOf(FiInf),
      SHGFI_SYSICONINDEX OR SHGFI_LARGEICON);
  IF SysIl <> 0 THEN
  BEGIN
    BildListe.Handle := SysIl;
    BildListe.ShareImages := True;
    Result := True;
  END;
end;
Was mache ich falsch? Kann mir jemand helfen?

Thanks
Christian

[edit=Sharky]Delphi-Tags korrigiert. Mfg, Sharky[/edit]
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#2

Re: Probleme beim Ermitteln von System-Icons unter Delhi 7.0

  Alt 19. Aug 2004, 21:53
Ich muss zwar zugeben, dass sich der Code ohne Formatierung doch etwas schwerer liest (wie haben wir das bloß früher gemacht? ), aber ich denke, der Weg ist richtig. Ich habe mal fix [dp:308f7fd3a1="System Imagelist]gesucht[/dp:308f7fd3a1], aber im Prinzip benutze ich den gleichen Code.

Als Beispiel aus diesem Beitrag:
Delphi-Quellcode:
tmpImgLst.Handle := SHGetFileInfo(PChar(FName),0,
  FileInfo,sizeof(FileInfo),SHGFI_SYSICONINDEX or SHGFI_ICON);
usw.

Was passiert bei dir denn genau, bzw. was passiert denn nicht? Was meinst du mit:
Zitat:
[...] resultieren unter 7.0 nur 5 Icons.
  Mit Zitat antworten Zitat
ChristianWE

Registriert seit: 23. Apr 2004
2 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Probleme beim Ermitteln von System-Icons unter Delhi 7.0

  Alt 19. Aug 2004, 22:07
Also erst mal danke für die schnelle Reaktion. Den Quellcode habe ich zwar schon formatiert eingefügt, Formatierung ist aber beim Posten verloren gegangen, hab wohl noch nicht ganz kapiert, wie man das richtig macht...

Was bei mir passiert ist schnell beschrieben. Es tritt kein Fehler auf, aber meine Imagelist enthält danach sage und schreibe 5 Icons und ich weiß einfach nicht warum. Der aus einer von mir unter D3.0 entwickelten Komponente stammende Code liefert unter D3.0 ein tadeloses Ergebnis, nur leider nicht unter D7.0.
Gruß Christian
  Mit Zitat antworten Zitat
Vjay

Registriert seit: 2. Dez 2003
Ort: Berlin/Eschede
481 Beiträge
 
Delphi 7 Professional
 
#4

Re: Probleme beim Ermitteln von System-Icons unter Delhi 7.0

  Alt 19. Aug 2004, 22:13
*Offtopic
Du hast über dem Post - Memofeld ein Button der heisst Delphi-Code da drückst du
Wer später bremst ist eher tot.
  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 14:25 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz