
Comment faire un menu style office
-
Lord Nelson
- Messages : 355
- Inscription : dim. 01/déc./2013 15:29
Comment faire un menu style office
Salut, savez vous comment je peux faire un jolie menu comme ça en PB svp ? 


Re: Comment faire un menu style office
Dans l'aide sur CreateMenuImage il y a un paramètre:
#PB_Menu_ModernLook: Active le nouveau look et affiche un dégradé.
Qui permet d'afficher (en partie) ce type d'effet.
Sinon, il existe un produit (payant) ProGui http://www.progui.co.uk/ (jamais essayé)
je ne sais pas s'il est encore maintenu.
#PB_Menu_ModernLook: Active le nouveau look et affiche un dégradé.
Qui permet d'afficher (en partie) ce type d'effet.
Sinon, il existe un produit (payant) ProGui http://www.progui.co.uk/ (jamais essayé)
je ne sais pas s'il est encore maintenu.
-
Lord Nelson
- Messages : 355
- Inscription : dim. 01/déc./2013 15:29
Re: Comment faire un menu style office
Super, merci
Je vais surement l'acheter
Y à t-il d'autres chose comme ceci ?
Je vais surement l'acheter
Y à t-il d'autres chose comme ceci ?
Re: Comment faire un menu style office
Attention avec ProGui le développeur attend une mise â jour de taillbit depuis un moment pour mettre à jour ProGui en version lib. Il et toujours possible d'utiliser la dll fourni. Autrement c'est un très bon produit que j'utilise depuis quelques années.
-
Lord Nelson
- Messages : 355
- Inscription : dim. 01/déc./2013 15:29
Re: Comment faire un menu style office
Salut, bon avec l'aide de Micoute ou j'ai repris un de ses code et j'ai modifier pour faire un truc style office
c'est du brouillon mais voilà à quoi ça ressemble, c'est un truc du genre que je voudrait faire:
Note: ya des choses inutile, j'ai fais comme j'ai pue.
c'est du brouillon mais voilà à quoi ça ressemble, c'est un truc du genre que je voudrait faire:
Code : Tout sélectionner
; A base de Bouton Plat sans bordures de Micoute, modifier par Dieppedalle David pour bouton style office le 10/05/2015
EnableExplicit
Prototype prototypeplat(Pointeur, Evenement = 0)
Structure donnees_bordures_bouton_plat
Gadget.i
Dessin.prototypeplat
Texte.s
CouleurTexte.i
CouleurInterieur.i
CouleurBordures.i
CouleurFond.i
Police.i
DonneesSupplementaires.i
EndStructure
;
Procedure DessinerBorduresBoutonPlat(*p.donnees_bordures_bouton_plat, Evenement = 0)
Protected x, y, th
If *p
If IsGadget(*p\Gadget)
If StartDrawing(CanvasOutput(*p\Gadget))
Select Evenement
Case 0
DrawingMode(#PB_2DDrawing_Default)
Box(0, 0, OutputWidth(), OutputHeight(), *p\CouleurFond)
Case 1
DrawingMode(#PB_2DDrawing_Gradient)
LinearGradient(1, OutputHeight(), 1, 1)
GradientColor(1, RGB(255, 230, 150))
LinearGradient(1, 0, 1, OutputHeight())
GradientColor(0, RGB(255, 255, 255))
Box(1, 1, OutputWidth() + 1, (OutputHeight() / 2), 0)
LinearGradient(1, OutputHeight() / 2, 1, OutputHeight())
GradientColor(1, RGB(255, 255, 255))
LinearGradient(1, OutputHeight() / 2, 1, OutputHeight())
GradientColor(0, RGB(255, 214, 57))
Box(1, (OutputHeight() / 2) + 1, OutputWidth() - 2, OutputHeight(), 0)
DrawingMode(#PB_2DDrawing_Outlined)
Box(1, 1, OutputWidth() - 2, OutputHeight() - 2, RGB(255, 255, 255))
DrawingMode(#PB_2DDrawing_Default)
Line(1, 0, OutputWidth() - 2, 1, RGB(219, 206, 153))
Line(OutputWidth() - 1, 1, 1, OutputHeight() - 2, RGB(219, 206, 153))
Line(0, 1, 1, OutputHeight() - 2, RGB(219, 206, 153))
Line(1, OutputHeight()-1, OutputWidth() - 2, 1, RGB(219, 206, 153))
EndSelect
If IsFont(*p\Police)
DrawingFont(FontID(*p\Police))
EndIf
x = (OutputWidth() / 2) - (TextWidth(*p\Texte) / 2)
y = (OutputHeight() / 2) - (TextHeight(*p\Texte) / 2)
DrawingMode(#PB_2DDrawing_Default|#PB_2DDrawing_Transparent)
DrawText(x, y, *p\Texte, *p\CouleurTexte)
StopDrawing()
EndIf
EndIf
EndIf
EndProcedure
;
Procedure BorduresBoutonPlat(Gadget, x, y, Largeur, Hauteur, Texte.s, CouleurTexte, CouleurFond, CouleurInterieur, CouleurBordures, Police)
Protected *p.donnees_bordures_bouton_plat = AllocateMemory(SizeOf(donnees_bordures_bouton_plat))
Protected ID
If Not *p : ProcedureReturn #False : EndIf
InitializeStructure(*p, donnees_bordures_bouton_plat)
ID = CanvasGadget(Gadget, x, y, Largeur, Hauteur)
If Gadget = #PB_Any : Gadget = ID : EndIf
SetGadgetData(Gadget, *p)
*p\Gadget = Gadget
*p\Texte = Texte
*p\CouleurBordures = CouleurBordures
*p\CouleurFond = CouleurFond
*p\CouleurInterieur = CouleurInterieur
*p\Police = Police
*p\Dessin = @DessinerBorduresBoutonPlat()
*p\Dessin(*p, 0)
ProcedureReturn ID
EndProcedure
;
Procedure EvenementsBorduresBoutonPlat(Gadget, Evenement, TypeEvenement)
Protected *p.donnees_bordures_bouton_plat
If IsGadget(Gadget)
*p = GetGadgetData(Gadget)
If *p
If Evenement = #PB_Event_Gadget
Select TypeEvenement
Case #PB_EventType_MouseEnter, #PB_EventType_MouseMove, #PB_EventType_LeftButtonDown, #PB_EventType_RightButtonDown
*p\Dessin(*p, 1)
Default
*p\Dessin(*p, 0)
EndSelect
EndIf
EndIf
EndIf
EndProcedure
;
DisableExplicit
OpenWindow(0,200,300,150,127,"Fenêtre de test")
Police = LoadFont(#PB_Any, "Segoe UI", 9)
BorduresBoutonPlat(1, 1, 1, 148, 25, "Imprimante", 0, $F0F0F0, $FFE0C2, $FF9933, Police)
BorduresBoutonPlat(2, 1, 26, 148, 25, "Ordinateur", 0, $F0F0F0, $FFE0C2, $FF9933, Police)
BorduresBoutonPlat(3, 1, 51, 148, 25, "Souris", 0, $F0F0F0, $FFE0C2, $FF9933, Police)
BorduresBoutonPlat(4, 1, 76, 148, 25, "Clavier", 0, $F0F0F0, $FFE0C2, $FF9933, Police)
BorduresBoutonPlat(5, 1, 101, 148, 25, "Disque dur", 0, $F0F0F0, $FFE0C2, $FF9933, Police)
AddKeyboardShortcut(0,#PB_Shortcut_Escape, 9999)
Repeat
Evenement = WaitWindowEvent()
Select Evenement
Case #PB_Event_Gadget
EvenementsBorduresBoutonPlat(EventGadget(), Evenement, EventType())
Select EventType()
Case #PB_EventType_LeftClick
Select EventGadget()
Case 1
Debug "Clic sur Imprimante"
Case 2
Debug "Clic sur Ordinateur"
Case 3
Debug "Clic sur Souris"
Case 4
Debug "Clic sur Clavier"
Case 5
Debug "Clic sur Disque dur"
EndSelect
EndSelect
Case #PB_Event_CloseWindow
Quitter = 1
EndSelect
Until Quitter > 0