AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Windows SystemMessage Icons in 16x16 laden?
Thema durchsuchen
Ansicht
Themen-Optionen

Windows SystemMessage Icons in 16x16 laden?

Offene Frage von "newbe"
Ein Thema von newbe · begonnen am 11. Nov 2009 · letzter Beitrag vom 11. Nov 2009
Antwort Antwort
Seite 2 von 2     12   
newbe

Registriert seit: 14. Okt 2008
143 Beiträge
 
Delphi 7 Personal
 
#11

Re: Windows SystemMessage Icons in 16x16 laden?

  Alt 11. Nov 2009, 12:12
@DeddyH

hab ich grad getestet, dann sehe ich nur ein viertel von dem Icon.

mfG newbe
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.202 Beiträge
 
Delphi 10.4 Sydney
 
#12

Re: Windows SystemMessage Icons in 16x16 laden?

  Alt 11. Nov 2009, 13:03
Ist das Icon 32*32 groß oder die verwendete Fläche? Teilweise werden 32*32 Icons geliefert auf denen das Icon eigentlich nur in 16*16 vorliegt.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
newbe

Registriert seit: 14. Okt 2008
143 Beiträge
 
Delphi 7 Personal
 
#13

Re: Windows SystemMessage Icons in 16x16 laden?

  Alt 11. Nov 2009, 13:11
@Bernhard Geyer

Sehr gute Frage, ich kann sie leider nicht beantworten, da ich nicht weis, wo Windows das Icon herzaubert.
Meine Intenet-Recherchen dazu haben nicht ergeben. In der Shell32.dll sind sie jedenfalls nicht.

mfG newbe
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#14

Re: Windows SystemMessage Icons in 16x16 laden?

  Alt 11. Nov 2009, 13:20
Und mit einem kleinen Umweg über eine Bitmap?
Delphi-Quellcode:
var Icon: TIcon;
    Bmp: TBitmap;
begin
  Icon := TIcon.Create;
  try
    Icon.Handle := LoadImage(0, IDI_ERROR, Image_Icon, 16, 16, LR_SHARED);
    Bmp := TBitmap.Create;
    try
      Bmp.Width := Icon.Width;
      Bmp.Height := Icon.Height;
      Bmp.Canvas.Draw(0,0,Icon);
      Image1.Picture.Assign(Bmp);
    finally
      Bmp.Free;
    end;
  finally
    Icon.Free;
  end;
end;
Man könnte natürlich auch gleich die Bitmap in 16x16 deklarieren und per StretchBlt auf deren Canvas zeichnen, aber so wie oben ging das bei mir.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#15

Re: Windows SystemMessage Icons in 16x16 laden?

  Alt 11. Nov 2009, 14:08
@DeddyH, das wird wohl nur so funktionieren. Leider nur mit einem weissem Rand / Hintergrund vom Bitmap.
Auch ein Transparent stellen wir da nur ein schlechtes Ergebnis liefern.

Ich habe selber feststellen müssen, dass das TIcon insbesondere bei Delphi6 so seine Eigenheiten hat.

Wenn der TE nun aber 16x16 Icons will:

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
const
  IcS = 16;
var
  Icon: HICON;
  Bmp: TBitmap;
begin
    Icon:= LoadImage(0, IDI_ERROR, Image_Icon, IcS, IcS, LR_SHARED);
    Bmp := TBitmap.Create;
    try
      Bmp.Width := IcS;
      Bmp.Height := IcS;
      Bmp.PixelFormat := pf24Bit;
      Bmp.Canvas.Brush.Color := Self.Color;
      Bmp.Canvas.FillRect(Bmp.Canvas.ClipRect);
      DrawIconEx(Bmp.Canvas.Handle,0,0,Icon,IcS,IcS,0,0,DI_NORMAL);
      Image1.Picture.Assign(Bmp);
    finally
      Bmp.Free;
    end;
end;
Ich sag es gleich, schick schaut es nicht aus.
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
newbe

Registriert seit: 14. Okt 2008
143 Beiträge
 
Delphi 7 Personal
 
#16

Re: Windows SystemMessage Icons in 16x16 laden?

  Alt 11. Nov 2009, 15:09
@Turbo Pascal

Ich benötige die Icons für eine Baumansicht und ich arbeite mit Delphi6

mfG newbe
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 19:44 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