Page 1 sur 1

ProGUI V1.30

Publié : jeu. 22/déc./2011 16:38
par Mesa
Bonjour,

Quelqu'un a-t-il essayé cette lib: ProGUI V1.30
Elle permet de faire des GUI de façon professionnelle dixit l'auteur.

http://www.purebasic.fr/english/viewtop ... it=userlib


C'est bien ?

Mesa.

Re: ProGUI V1.30

Publié : dim. 25/déc./2011 16:09
par Guimauve
Pour ceux qui sont sur Windows et qui ont les moyens de dépenser 45 euro pour en faire l’acquisition pourquoi pas.

Personnellement dans mon cas ça fait pratiquement 60 $ ce que je trouve un peu cher pour uniquement faire des Toolbars et d'ajouter quelques Gadgets dans un programme. Sans oublié que je ne travaille plus sous Windows depuis pratiquement 2 ans maintenant alors...

A+
Guimauve

Re: ProGUI V1.30

Publié : dim. 25/déc./2011 17:29
par Ar-S
Non testé désolé

Re: ProGUI V1.30

Publié : dim. 25/déc./2011 19:31
par Le Soldat Inconnu
Bof, pour les barres, Denis sait faire, et pour le reste, je l'ai déjà trouvé sur le forum. Faut fouiller, et ce sera gratuit

Re: ProGUI V1.30

Publié : ven. 24/févr./2012 18:27
par Anonyme2
J'ai la lib, j'ai passé mon projet Pureiconmanager (version 2) avec, mais au final j'ai passé beaucoup beaucoup et beaucoup de temps pour des résultats pas forcément meilleurs à mon goût ce qui n'enlève rien au fait que c'est une très bonne librairie. Ca cause des problèmes avec ma propre librairie de gestion des menus en couleurs (que je garde pour moi :roll: ) et je préfère ma gestion des menus.

Avec la lib vous avez le code source, bon c'est assez c'est long alors pas facile de s'y retrouver.

Re: ProGUI V1.30

Publié : ven. 24/févr./2012 19:45
par Backup
Denis a écrit : ma propre librairie de gestion des menus en couleurs (que je garde pour moi :roll: ).
tu veux parler d'un truc dans le genre ? (forum anglais code de RASHAD)

Code : Tout sélectionner

Global SFColor.l, SBColor.l,DFColor.l,DBColor.l ,Icons.l

Structure new_mm
  hFont.l
  Text.s
  hIco.l
EndStructure

Global Dim menu.new_mm(13)

Procedure Menu_Owner(wnd, msg, wParam, lParam)
  
  Select msg
      
    Case #WM_MEASUREITEM
      hdc = GetDC_(wnd)
      *nmm.MEASUREITEMSTRUCT = lParam
      *lnew_mm.new_mm = *nmm\itemData
      GetTextExtentPoint32_(hdc,*lnew_mm\Text,Len(*lnew_mm\Text),@size.SIZE);
      *nmm\itemWidth = size\cx + Icons
      *nmm\itemHeight = size\cy
      ReleaseDC_(wnd,hdc)
      
    Case #WM_DRAWITEM
      *nmd.DRAWITEMSTRUCT = lParam
      *llnew_mm.new_mm = *nmd\itemData
      If *nmd\itemState & #ODS_SELECTED
        SetTextColor_(*nmd\hDC,SFColor)
        SetBkColor_(*nmd\hDC,SBColor)
        ExtTextOut_(*nmd\hDC,*nmd\rcItem\left + Icons,*nmd\rcItem\top,#ETO_OPAQUE,*nmd\rcItem,*llnew_mm\Text,Len(*llnew_mm\Text),0)
        ;DrawIconEx_(*nmd\hDC,*nmd\rcItem\left,*nmd\rcItem\top,*llnew_mm\hIco,14,14,0,0,3)
      Else
        SetTextColor_(*nmd\hDC,DFColor)
        SetBkColor_(*nmd\hDC,DBColor) 
        ntx = *nmd\rcItem\left + Icons
        nty = *nmd\rcItem\top
        ExtTextOut_(*nmd\hDC,*nmd\rcItem\left + Icons,*nmd\rcItem\top,#ETO_OPAQUE,*nmd\rcItem,*llnew_mm\Text,Len(*llnew_mm\Text),0)
        ;DrawIconEx_(*nmd\hDC,*nmd\rcItem\left,*nmd\rcItem\top,*llnew_mm\hIco,14,14,0,0,3)
      EndIf
      
  EndSelect
  ProcedureReturn #PB_ProcessPureBasicEvents
EndProcedure

Icons = 15   ;Can be 0

If OpenWindow(0, 0, 0,400,300, "PopupMenu Test", #PB_Window_SystemMenu|#PB_Window_ScreenCentered)
  SetWindowColor(0,$000000)
  mhnd = CreateMenu(0, WindowID(0))
  MenuTitle("File")
  MenuItem( 1, "")
  MenuItem( 2, "")
  MenuItem( 3, "")
  MenuBar()
  MenuItem( 4, "")
  
  MenuTitle("Edition")
  MenuItem(5, "")
  MenuItem(6, "")
  MenuItem(7, "")
  
  
  menu(0)\Text = " Load"
  menu(1)\Text = " Save"
  menu(2)\Text = " Save As...."
  menu(3)\Text = " Quit"
  menu(4)\Text = " Cut"
  menu(5)\Text = " Copy"
  menu(6)\Text = " Paste"
  
  ;hMenu = GetMenu_(WindowID(0))
  ModifyMenu_(MenuID(0),1,#MF_BYCOMMAND|#MF_OWNERDRAW,1,menu(0))
  ModifyMenu_(MenuID(0),2,#MF_BYCOMMAND|#MF_OWNERDRAW,2,menu(1))
  ModifyMenu_(MenuID(0),3,#MF_BYCOMMAND|#MF_OWNERDRAW,3,menu(2))
  ModifyMenu_(MenuID(0),4,#MF_BYCOMMAND|#MF_OWNERDRAW,4,menu(3))
  ModifyMenu_(MenuID(0),5,#MF_BYCOMMAND|#MF_OWNERDRAW,5,menu(4))
  ModifyMenu_(MenuID(0),6,#MF_BYCOMMAND|#MF_OWNERDRAW,6,menu(5))
  ModifyMenu_(MenuID(0),7,#MF_BYCOMMAND|#MF_OWNERDRAW,7,menu(6))
  ;     GetWindowRect_(WindowID(0), wr.RECT)
  ;     OpenWindow(1,wr\left+90 ,wr\top+25,314,20,"",#WS_POPUP,WindowID(0))
  ;     SetWindowColor(1,$000000)
  ;     SetActiveWindow(0)
  
  ;**********************************************************************************
  
  hPMenu = CreatePopupMenu(1)
  MenuItem(10, "")
  MenuItem(11, "")
  MenuItem(12, "")
  MenuBar()
  OpenSubMenu("")
    MenuItem(13, "")
    MenuItem(14, "")
  CloseSubMenu()
  MenuBar()
  MenuItem( 15, "")
  
  menu(7)\Text = " Cut"
  menu(8)\Text = " Copy"
  menu(9)\Text = " Paste"     
  menu(10)\Text = " Options"
  menu(11)\Text = " Window..."
  menu(12)\Text = " Gadget..."
  menu(13)\Text = " Quit"
  
  
  ModifyMenu_(hPMenu,10,#MF_BYCOMMAND|#MF_OWNERDRAW,10,menu(7))
  ModifyMenu_(hPMenu,11,#MF_BYCOMMAND|#MF_OWNERDRAW,11,menu(8))
  ModifyMenu_(hPMenu,12,#MF_BYCOMMAND|#MF_OWNERDRAW,12,menu(9))       
  ModifyMenu_(hPMenu,13,#MF_BYCOMMAND|#MF_OWNERDRAW,13,menu(11))
  ModifyMenu_(hPMenu,14,#MF_BYCOMMAND|#MF_OWNERDRAW,14,menu(12))
  ModifyMenu_(hPMenu,15,#MF_BYCOMMAND|#MF_OWNERDRAW,15,menu(13))
  
  ;SubMenu
  ModifyMenu_(hPMenu,4,#MF_BYPOSITION|#MF_OWNERDRAW,0,menu(10)) 
  
  
  DFColor = $FD0202
  DBColor = $01FFFE
  SFColor = $00FFFF
  SBColor = $EAAB0D   
  
  SetWindowCallback(@Menu_Owner())
  
  ;     Result = GetMenuItemCount_(MenuID(0))
  ;     For i = 0 To Result - 1
  ;     Debug GetMenuItemCount_(GetSubMenu_(MenuID(0),i))
  ;     Next
  ;     Debug GetMenuItemCount_(MenuID(1))
  
  Repeat
    
    Select WaitWindowEvent()
        
      Case #PB_Event_Gadget
        If EventGadget() = 0 And EventType() = #PB_EventType_RightClick
          DisplayPopupMenu(1, WindowID(0))
        EndIf
        
      Case #WM_RBUTTONDOWN
        DisplayPopupMenu(1, WindowID(0))
        
      Case #PB_Event_Menu
        
        Select EventMenu()  ; To see which menu has been selected
            
          Case 1 ; Load
            MessageRequester("PureBasic", "Load", 0)
            
          Case 10 ; Cut
            MessageRequester("PureBasic", "Cut", 0)
            
          Case 11 ; Copy
            MessageRequester("PureBasic", "Copy", 0)
            
          Case 12 ; Paste
            MessageRequester("PureBasic", "Paste", 0)
            
          Case 4,15 ; Quit
            Quit = 1
            
        EndSelect
        
      Case #PB_Event_CloseWindow
        Quit = 1
        
    EndSelect
    
  Until Quit = 1
EndIf
End