AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

24x24 Icon extrahieren ?

Ein Thema von jfheins · begonnen am 16. Jun 2005 · letzter Beitrag vom 18. Jun 2005
Antwort Antwort
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#1

24x24 Icon extrahieren ?

  Alt 16. Jun 2005, 17:10
Ich möchte gerne ein 24x24 Icon aus der Shell32.dll extrahiern, doch irgendwie bekomme ich das nicht hin ...

Meine bisherigen Versuche laufen darauf hinas, dass ich das 16x16 Icon kriege, und das 32x32, aber n9icht das 24x24, welches ich brauche und weilches auch existiert ...

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  Icon1, Icon2: TIcon;
  klein, gross: HIcon;
begin
  try

  Icon1 := TIcon.Create;
  Icon2 := TIcon.Create;

  klein := 0;
  gross := 0;

  Label1.Caption := inttostr (ExtractIconEx (PChar('C:\WINDOWS\system32\shell32.dll'), 23, klein, gross, 1));

  Icon1.Handle := klein;
  Icon2.Handle := gross;

  PaintBox321.Canvas.Rectangle(-1, -1, Succ(PaintBox321.Width), Succ(PaintBox321.Height));

  PaintBox321.Canvas.Draw (0, 0, Icon1);
  PaintBox321.Canvas.Draw (40, 0, Icon2);


  Icon1.Free;
  Icon2.Free;

  except
   ShowMessage(SysErrorMessage(GetLastError));
  end;
end;
Dann sind in der Paintbox halt das 16x16 rechts und das 32x32 links, aber 24x24

Kennt sich damit wer aus ?
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#2

Re: 24x24 Icon extrahieren ?

  Alt 18. Jun 2005, 08:41
Hallo,

Kenne mich nicht gut damit aus aber ich denke du kannst an das Icon
per LoadLibrary(), FindResource(),... herankommen und extrahieren.
Thomas
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.111 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: 24x24 Icon extrahieren ?

  Alt 18. Jun 2005, 13:58
Moin Julius,

ich vermute mal, dass Du Dir ExtractIconEx selber importieren musst, um alle Icons mit dem genannten Index zu erhalten.
Die Art und Weise, wie Borland die Funktion importiert hat gibt Dir jeweils nur nur ein Small- und ein Largeicon zurück (beide Parameter sind ja als Var deklariert.).
Deklariere die bei Deinem Import mal als const.
Dann musst Du auch noch daran denken, dass Du nicht mehr einfach eine Variable übergeben kannst, sondern auch noch den Speicher reservieren musst.
Der Rückgabewert von ExtractIconEx gibt Dir an wieviele Icons extrahiert wurden (sollte bei Deinem bisherigen Aufruf dann ja immer 1 sein)
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  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 07:51 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