Position des éléments grahique en pourcentage

Partagez votre expérience de PureBasic avec les autres utilisateurs.
Anonyme

Position des éléments grahique en pourcentage

Message par Anonyme »

je ne met pas se code dans la catégorie jeux , car on peut l'utilisé aussi pour des applications basique.

ce code permet de placer des gadgets/sprites/textes/etc... avec des pourcentage , peut importe la résolution de l'écran ou la taille de la fenetre , un coup de moulinette dans les macros , il convertit les pourcentage en position sur l'écran ou la fenêtre !

Code : Tout sélectionner

Global Resolution_Screen_X.l 
Global Resolution_Screen_Y.l

Macro Percent_X(percent)
(percent * Resolution_Screen_X) / 100
EndMacro

Macro Percent_Y(percent)
(percent * Resolution_Screen_Y) / 100
EndMacro

Macro DefineScreenResolution(x,y)
Resolution_Screen_X = x
Resolution_Screen_Y = y
EndMacro
Voici un exemple d'utilisation :

Code : Tout sélectionner

#WIN_SIZEX = 150
#WIN_SIZEY = 480

DefineScreenResolution(#WIN_SIZEX,#WIN_SIZEY)

OpenWindow(0,0,0,#WIN_SIZEX,#WIN_SIZEY,"BOUTON TEST")
If CreateGadgetList(WindowID(0))
; On place le bouton à 50% de la fenetre mois sa taille divisé par 2 pour un centrage parfait.
ButtonGadget(#PB_Any,Percent_X(50)-50,Percent_Y(50)-16,100,32,"Bouton centré!")
EndIf 

Repeat
Until WindowEvent()=#PB_Event_CloseWindow
Donc 100% est égale à la resolution de l'écran ou de la fenetre !
plus besoin de se prendre le choux a faire les calcul :D
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Message par Kwai chang caine »

Bonne idée :wink:
Merci pour le code
beauregard
Messages : 1307
Inscription : dim. 08/juil./2007 18:32
Localisation : Toulouse

Re: Position des éléments grahique en pourcentage

Message par beauregard »

Cpl.Bator a écrit :Donc 100% est égale à la resolution de l'écran ou de la fenetre ! plus besoin de se prendre le choux a faire les calcul :D
merci :) Cela me permet également de voir l'utilité réelle d'une macro, ton code est donc également un bon tutorial :)

Code : Tout sélectionner

#WIN_SIZEX = 150
#WIN_SIZEY = 480

DefineScreenResolution(#WIN_SIZEX,#WIN_SIZEY)

OpenWindow(0,0,0,#WIN_SIZEX,#WIN_SIZEY,"BOUTON TEST")
If CreateGadgetList(WindowID(0))
  ButtonGadget(#PB_Any, Percent_X(50)-(100/2), Percent_Y(50)-(32/2), 100, 32,"Bouton centré!")
EndIf

Repeat
Until WindowEvent()=#PB_Event_CloseWindow
Répondre