Seite 1 von 1

Shell32 Icons verwenden

Verfasst: 19.01.2009 01:55
von Delle
Hallo,

wie kann ich Icons für z.B. MessageRequester() aus der Shell32 benutzen?

Bild

Verfasst: 19.01.2009 02:25
von ts-soft

Code: Alles auswählen

EnableExplicit

#MB_USERICON = $80

Define msg.MSGBOXPARAMS

With msg
  \cbSize = SizeOf(MSGBOXPARAMS)
  \hwndOwner = GetForegroundWindow_(); besser hWnd des eigenen Fenster
  \hInstance = LoadLibrary_("shell32.dll")
  \lpszText = @"is bad?"
  \lpszCaption = @"IE"
  \dwStyle = #MB_USERICON | #PB_MessageRequester_YesNo
  \lpszIcon  = 512; index des Icons
EndWith

Select MessageBoxIndirect_(@msg)
  Case #PB_MessageRequester_Yes
    Debug "find ich auch"
  Case #PB_MessageRequester_No
    Debug "sicher?"
EndSelect

Verfasst: 19.01.2009 08:01
von Bisonte
bei der Gelegenheit frag ich mal so, ob das dann unter Vista auch Gültigkeit hat ? Also gibt es dort eine shell32.dll und sind die Einträge die gleichen (ausser das die Icons anders aussehen....) ?

Habe kein Vista, wäre aber sinnig wenn dann das Programm auch unter Vista funktionieren würde und nicht nur leere Stellen anzeigt oder gar mit absturz droht ...

Verfasst: 20.01.2009 18:01
von Andesdaf
ja.

Danke, das wollte ich auch schon mal fragen.

Verfasst: 20.01.2009 18:43
von ts-soft
Geht auch mit PureBasic :wink:

Code: Alles auswählen

EnableExplicit

#MB_USERICON = $80

Define msg.MSGBOXPARAMS

With msg
  \cbSize = SizeOf(MSGBOXPARAMS)
  \hwndOwner = 0
  \hInstance = LoadLibrary_(#PB_Compiler_Home + "purebasic.exe")
  \lpszText = @"Feel the ...Pure... Power"
  \lpszCaption = @"PureBasic"
  \dwStyle = #MB_USERICON
  \lpszIcon  = 1
EndWith

MessageBoxIndirect_(@msg)