Fonction LoadMenu (+Exemple)

Partagez votre expérience de PureBasic avec les autres utilisateurs.
Dr. Dri
Messages : 2527
Inscription : ven. 23/janv./2004 18:10

Fonction LoadMenu (+Exemple)

Message par Dr. Dri »

Pour la nouvelle année je vous offre une petite fonction sympa ^^
Elle permet de charger un menu issu d'une resource et d'en faire un menu PB

ca signifie
-qu'il s'utilise au final comme s'il avait été créé avec la fonction CreateMenu()
-qu'il est possible de le rendre multilingue

j'ai aussi codé un petit programme d'exemple pour montre comment ca fonctionne ^^
File:1->Menu.zip
Image

Code : Tout sélectionner

Procedure.l LoadMenu(Library.l, Index.l)
  Protected Load.l, LibraryID.l
  Protected *MenuID.Long, MenuID.l
  Static    ModuleID.l
  
  
  If ModuleID = #Null
    ModuleID = GetModuleHandle_(#Null)
  EndIf
  
  If Library = #PB_Default
    LibraryID = ModuleID
  Else
    If IsLibrary(Library)
      LibraryID = LibraryID(Library)
    EndIf
  EndIf
  
  If LibraryID
    MenuID = LoadMenu_(LibraryID, Index)
    
    CreateMenu( Index, WindowID() )
    *MenuID = IsMenu(Index)
    
    SetMenu_(WindowID(), MenuID)
    DestroyMenu_(*MenuID\l)
    *MenuID\l = MenuID
  EndIf
  
  ProcedureReturn MenuID
EndProcedure
Dri ;)
Avatar de l’utilisateur
Droopy
Messages : 1151
Inscription : lun. 19/juil./2004 22:31

Message par Droopy »

Bel exemple d'utilisation de ressouces :D
Répondre