A toutes fins utile et pour rappel... Il y a Ceci et aussi !
Fichiers à copier dans le répertoire "Help" de Purebasic et accessible via la touche F1 sur le mots ou via "Aide externe"
il donne les infos utiles (en anglais) sur les fonctions API disponibles (ATTENTION pas forcément à jour pour tout)
Code : Tout sélectionner
; :-------------------------------------------------------------------------------------------------------------------------------------------------------------
; Fentêtre Transparente.... Basée sur des codes trouvés et donne l'illusion de transparence
; --------------------------------- : **********************************************************************
; Laisse entrevoir l'image de fond de votre écran sans rien d'autre que ce que vous y placez
; Ici un objet représenté par une image de type déclaté en première ligne...
; et le nom ainsi que le répertoire dans la ligne Data... Versus JG.
;
; :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
;
Global Rep$ ; Localisation de l'application
Rep$=GetPathPart(ProgramFilename()) ; Le programme actuel se trouve ICI
SetCurrentDirectory(Rep$) ; On fixe le répertoire
;
Global Window_0
Global ButtonImage_0
;
;{ Images
Enumeration
#Image_ButtonImage_0
#Menu_EscapeKey = 123 ; keyboardshortcut, will return 123 as if it was a menuitem selected
EndEnumeration
;}
;{ Images incluent
DataSection
Image_ButtonImage_0:
IncludeBinary "C:\0 0 PureBasic52\PureBasic\00 ProgeneVII\Mes_Jpg\Fred_t.jpg" ; <<====== Votre chemin et Image JPG ?
Image_01:
IncludeBinary "C:\0 0 PureBasic52\PureBasic\00 ProgeneVII\Mes_Png\1jam_flag.png" ; <<====== Votre chemin et Image PNG ?
EndDataSection
;}
;{ Image Plugins
UsePNGImageDecoder()
UseJPEGImageDecoder()
;}
; Active tout les encodeurs que PureBasic accepte (avec BMP).
;
Declare.l myCallback(hwnd.l, uMsg.l, wParam.l, lParam.l)
Define.l Event, EventWindow, EventGadget, EventType, EventMenu
;
Global hImage.l = CatchImage (1, ?Image_01)
Global hImageList.l = ImageList_Create_ ( ImageWidth (1), ImageHeight (1), #ILC_COLOR32|#ILC_MASK , 1, 0)
;
ImageList_AddMasked_ (hImageList, hImage, #Black )
;
; ************************* Supple ***********************
; --------------------------- Open a window ---------------------
; If OpenWindow(0, 330, 250, 600, 460, "Menus Gestion Budget en Purebasic", #PB_Window_SystemMenu)
;
If OpenWindow (0, 216, 0, 800, 500, "Menu Budget J.G. 2008" , #PB_Window_ScreenCentered|#PB_Window_MinimizeGadget|#PB_Window_SystemMenu )
SetWindowCallback (@myCallback(), 0)
If CreateMenu(0, WindowID(0))
MenuTitle("Gestion Fichiers")
MenuItem( 1, "&Membres..")
MenuItem( 2, "&Articles")
MenuItem( 3, "&Fournisseurs")
MenuItem( 4, "&Catégories")
MenuBar()
OpenSubMenu("Recensement")
MenuItem( 5, "Biens individuel")
MenuItem( 6, "Table Répartition")
MenuItem( 7, "C:\Ok.bat")
CloseSubMenu()
MenuBar()
MenuItem( 8, "E&xit")
MenuTitle("Mouvements")
MenuItem( 9, "&Journal de mouvements")
MenuItem( 10, "Journal de &Banque")
MenuItem( 11, "&Centralisateur")
MenuItem(12, "&Table des indices")
MenuTitle("Aide")
MenuItem(13, "Aide générale")
MenuItem(14, "Info Produit")
EndIf
Repeat
;
Quit = 0 ; Flag pour quitter la boucle (ici les menus gérer par cette fenêtre
;
Select WaitWindowEvent()
;
Case #PB_Event_Menu
;
ButtonImage_0 = ButtonImageGadget(#PB_Any, 145, 85, 500,360, CatchImage(#Image_ButtonImage_0, ?Image_ButtonImage_0))
;
Select EventMenu(); To see which menu has been selected
;
Case #Menu_EscapeKey ; esc key
MessageRequester("Hint", "You pressed ESC", 0)
Case 1 ;
MessageRequester("Touche ", " Appyée 1", 0)
Case 2 ;
MessageRequester("Touche ", " Appyée 2", 0)
Case 3 ;
MessageRequester("Touche ", " Appyée 3", 0)
Case 4 ;
MessageRequester("Touche ", " Appyée 4", 0)
Case 5 ;
MessageRequester("Touche ", " Appyée 5", 0)
Case 6 ;
MessageRequester("Touche ", " Appyée 6", 0)
Case 7 ;
MessageRequester("Touche ", " Appyée 7", 0)
Case 8 ;
MessageRequester("Touche ", " Appyée 8 (Quitte)", 0)
Quit = 1 ; Exit
Case 9 ;
MessageRequester("Touche ", " Appyée 9 (Journaux)", 0)
Case 10 ;
MessageRequester("Touche ", " Appyée 10 (Journaux)", 0)
Case 11 ;
MessageRequester("Touche ", " Appyée 11 (centralisateur", 0)
Case 12 ;
MessageRequester("Touche ", " Appyée 12 (Indices)", 0)
Case 13 ; About
MessageRequester("About", "Aides !", 0)
Case 14 ; About
MessageRequester("About", "Infos Programme !", 0)
Default
MessageRequester("Info", "MenuItem: "+Str(EventMenu()), 0)
EndSelect
;
Case #WM_CLOSE ; #PB_EventCloseWindow
MessageRequester("Exit", "One more click, please!", 0)
Quit = 1
EndSelect
Until Quit = 1
;
EndIf
ImageList_Destroy_ (hImageList)
;-
Procedure.l myCallback(hwnd.l, uMsg.l, wParam.l, lParam.l)
Protected hdc.l, result.l = #PB_ProcessPureBasicEvents
Select uMsg
Case #WM_PAINT
hdc = BeginPaint_ (hwnd, ps.PAINTSTRUCT)
PaintDesktop_ (hdc)
ImageList_Draw_ (hImageList, 0, hdc, 20, 20, #ILD_TRANSPARENT )
EndPaint_ (hwnd, ps)
result = #True
Case #WM_SIZING , #WM_MOVING
InvalidateRect_ (hwnd, 0, 1)
Case #WM_ERASEBKGND
result = #False
EndSelect
ProcedureReturn result
EndProcedure
;:-------------------------------------------------------------------------------------------------------------------------------------------------------------
End
;