ProGUI V1.30

Sujets variés concernant le développement en PureBasic
Mesa
Messages : 1126
Inscription : mer. 14/sept./2011 16:59

ProGUI V1.30

Message 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.
Guimauve
Messages : 1015
Inscription : mer. 11/févr./2004 0:32
Localisation : Québec, Canada

Re: ProGUI V1.30

Message 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
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: ProGUI V1.30

Message par Ar-S »

Non testé désolé
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Re: ProGUI V1.30

Message 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
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Re: ProGUI V1.30

Message 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.
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: ProGUI V1.30

Message 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
Répondre