Crée une icône GDI à partir d'un objet bitmap GDI+
#include <GDIPlus.au3>
_GDIPlus_HICONCreateFromBitmap ( $hBitmap )
$hBitmap | Handle de l'objet bitmap |
Succès: | Retourne le handle de l'icône. |
Échec: | Retourne 0 et définit @error <> 0, @extended contient le code erreur GPSTATUS ($GPID_ERR*). |
Lorsque vous en avez terminé avec l'objet, appelez _WinAPI_DestroyIcon() pour libérer les ressources.
Consultez GdipCreateHICONFromBitmap dans la Librairie MSDN.
#include <GDIPlus.au3> #include <GUIConstantsEx.au3> #include <GuiMenu.au3> #include <WinAPIGdi.au3> #NoTrayIcon Opt('TrayMenuMode', 3) ; Crée un Bitmap avec transparence _GDIPlus_Startup() Local $hBitmap = _GDIPlus_BitmapCreateFromScan0(48, 48) Local $hContext = _GDIPlus_ImageGetGraphicsContext($hBitmap) Local $hBrush = _GDIPlus_LineBrushCreate(4, 4, 44, 44, 0xFF00FF00, 0, 3) _GDIPlus_GraphicsFillRect($hContext, 4, 4, 40, 40, $hBrush) _GDIPlus_BrushDispose($hBrush) _GDIPlus_GraphicsDispose($hContext) ; Crée une icône à partir du bitmap Local $hIcon = _GDIPlus_HICONCreateFromBitmap($hBitmap) _GDIPlus_BitmapDispose($hBitmap) _GDIPlus_Shutdown() Local $hMenu = TrayItemGetHandle(0) Local $idOptions = TrayCreateItem('Options') TrayCreateItem('') Local $idExit = TrayCreateItem('Exit') _GUICtrlMenu_SetItemBmp($hMenu, 0, _WinAPI_Create32BitHBITMAP($hIcon, 1, 1)) TraySetState() TrayTip("Information", "Check out tray menu", 30) Do Until TrayGetMsg() = $idExit