Seite 1 von 1

SetWindowIcon(Window,Image)

Verfasst: 11.04.2006 17:18
von Marvin
gibts vlt schon auf purearea, aber hier hab ichs auch:
(der Code ändert das Icon, dass in der TitleBar des Fensters angezeigt wird)

Code: Alles auswählen

Procedure SetWindowIcon(Window.l,Image.l)
  SetClassLong_(WindowID(Window),#GCL_HICON,ImageID(Image))
  SetClassLong_(WindowID(Window),#GCL_HICONSM,ImageID(Image))
EndProcedure
Benutzung:
- Window ist die PureBasic-ID eines Fensters (erster Parameter beim erstellen eines Fensters mittels OpenWindow())
- Image ist die PureBasic-ID eines Images (Image<>Sprite) (erster Parameter beim Laden eines Bildes mittels LoadImage() (das Bild sollte im .ico-Format sein!))

Ich bitte um ein reges Feedback, gefällt der Code euch nicht, sagts einfach /:->

P.S.: auf 98 wurde es schon getestet, bräuchte aber Tester mit anderen Windoof-Versionen :allright:

Verfasst: 11.04.2006 20:47
von tranquil
Ich weiß net so genau was ich bei einem API-2-Zeiler so an Feedback geben kann. Den guten Gedanken hinter Deinem Posting weiß ich schon zu schätzen aber einen wirklichen "Trick" kann ich da nun grad mal nicht erkennen.

Nen Trick wäre es für mich dann, wenn das nicht im MSDN so erklärt wäre. :D

Mike

Verfasst: 11.04.2006 22:14
von AND51
Wie geht das eigentlich, das der Knopf in der Taskjleiste ein ICON zugewiesen hat und anzeuigt, das Fenster aber nicht? Das habe ich schonmal gesehen; oder sind das 2 Fenster. Ein Parent und ein Chid Fenster?Die jeweils getrennt ICONs zugewieson bekommen?

Verfasst: 12.04.2006 08:34
von Marvin
könnte vlt der unterschied zwischen #GCL_HICON und #GCL_HICONSM sein... :|

tranquil hat geschrieben:Ich weiß net so genau was ich bei einem API-2-Zeiler so an Feedback geben kann. Den guten Gedanken hinter Deinem Posting weiß ich schon zu schätzen aber einen wirklichen "Trick" kann ich da nun grad mal nicht erkennen.

Nen Trick wäre es für mich dann, wenn das nicht im MSDN so erklärt wäre. :D

Mike
:allright: Das wollt ich hören! :wink:
(Keine Ironie:
Marvin hat geschrieben:[...] gefällt der Code euch nicht, sagts einfach /:-> ...
)

Verfasst: 22.10.2006 06:10
von DW

Code: Alles auswählen

imgloadimage(#pb_any,"icon.ico")
SendMessage_(GetActiveWindow_(),#WM_SETICON,0,img)
Einfach mal sendmessahe benutzen.