Petit problème de résolution
Petit problème de résolution
Bonjour à tous,
Je viens de me lancer il y a seulement quelques jours à essayer de faire un petit truc avec PB.
Étant un very méga débutant en langage informatique j'aurais aimé un petit coup de main sur le problème que j'ai actuellement :
J'ai fait un petit menu contextuel qui s'affiche a un endroit précis sur le bureau à savoir en bas dans le coin inférieur à droite.
Le problème est que si je veux faire fonctionner ce petit "Prog" sur mon autre PC et bien je ne vois plus mon menu ?
Je précise que la résolution de l'ordinateur sur lequel j'ai "programmé" mon petit menu est de 1680x1050
et l'autre sur lequel j'essaie de le faire fonctionner est de 1280X1024.
En espérant avoir été clair, je remercie à l'avance celui ou celle qui voudrait bien m'aider.
Je viens de me lancer il y a seulement quelques jours à essayer de faire un petit truc avec PB.
Étant un very méga débutant en langage informatique j'aurais aimé un petit coup de main sur le problème que j'ai actuellement :
J'ai fait un petit menu contextuel qui s'affiche a un endroit précis sur le bureau à savoir en bas dans le coin inférieur à droite.
Le problème est que si je veux faire fonctionner ce petit "Prog" sur mon autre PC et bien je ne vois plus mon menu ?
Je précise que la résolution de l'ordinateur sur lequel j'ai "programmé" mon petit menu est de 1680x1050
et l'autre sur lequel j'essaie de le faire fonctionner est de 1280X1024.
En espérant avoir été clair, je remercie à l'avance celui ou celle qui voudrait bien m'aider.
Salut Sceyllia,
ce code te renvoie la largeur et la hauteur de ton ecran. grace a L et H
a toi de jouer pour placer ta fenetre ou autre :
exemple une fenetre de 100x100
L-100
H-100
etc....
si non recherche a ExamineDesktops() tu a plein d'autre code
voilou
@++
ce code te renvoie la largeur et la hauteur de ton ecran. grace a L et H
Code : Tout sélectionner
If ExamineDesktops ()
l = DesktopWidth (0)
h = DesktopHeight (0)
EndIf
MessageRequester("information", "Vous avez un écran de : "+Str(l)+" de large par : "+Str(h)+" de haut.", 0)
exemple une fenetre de 100x100
L-100
H-100
etc....
si non recherche a ExamineDesktops() tu a plein d'autre code
voilou

@++
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
Re
Salut Venom,
Merci de m'avoir répondu.
J'ai bien lu avant d'écrire mon post l'aide sur (ExamineDesktops), mais a part me renseigné sur la résolution de mon écran au début de l'execution du prog je n'arrive pas a obtenir l'effet recherché, pourtant je sais qu'il est possible par ligne de codes (Correctement écrites, bien sûr) que ma barre
reste en bas avec le menu contextuel et ce même si j'exécute le programme
dans une autre résolution,.
Bon c'est pas grave, je dois probablement m'y prendre comme un pied, j'y retourne.
En tout cas, merci de m'avoir répondu.
A+
Et bonne continuation à toi.
Merci de m'avoir répondu.
J'ai bien lu avant d'écrire mon post l'aide sur (ExamineDesktops), mais a part me renseigné sur la résolution de mon écran au début de l'execution du prog je n'arrive pas a obtenir l'effet recherché, pourtant je sais qu'il est possible par ligne de codes (Correctement écrites, bien sûr) que ma barre
reste en bas avec le menu contextuel et ce même si j'exécute le programme
dans une autre résolution,.
Bon c'est pas grave, je dois probablement m'y prendre comme un pied, j'y retourne.
En tout cas, merci de m'avoir répondu.
A+
Et bonne continuation à toi.
l'idéal c'est de montrer un code qui permet de reproduire le problème.
Parce que pour moi, ce n'est pas clair !
Parce que pour moi, ce n'est pas clair !
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Re...
Salut comtois,
Je vais faire simple :
Imagine la barre des tâches de Windows; elle se trouve en bas, non ?
Si ta résolution d'écran change elle reste toujours en bas.
Et bien c'est cela mon problème.
Mon "Application" bouge de place si j'ai le malheur de l'exécuter dans une autre résolution.
Si la résolution est 1680X1050 elle se trouve bien a l'emplacement souhaité,
a savoir en bas, vers la barre des tâches, par contre si j'abaisse ma résolution en 800X600 hop! elle disparaît.
J'en déduit que mon "Application" n'apparaît pas avec une résolution différente de celle avec laquelle elle a été conçue.
Je suis ultra débutant et j'essaie de me débrouiller seul, mais j'aimerais connaître ce code qui laisserait cette fenêtre la ou je veux qu'elle soit.
C'est l'histoire de me faire gagner un peu de temps, car faut en avoir
quand on se lance dans la programmation.
Voiçi le code, il doit comporter pas mal d'erreurs j'imagine...
A + tous le monde, j'y retourne.
Je vais faire simple :
Imagine la barre des tâches de Windows; elle se trouve en bas, non ?
Si ta résolution d'écran change elle reste toujours en bas.
Et bien c'est cela mon problème.
Mon "Application" bouge de place si j'ai le malheur de l'exécuter dans une autre résolution.
Si la résolution est 1680X1050 elle se trouve bien a l'emplacement souhaité,
a savoir en bas, vers la barre des tâches, par contre si j'abaisse ma résolution en 800X600 hop! elle disparaît.
J'en déduit que mon "Application" n'apparaît pas avec une résolution différente de celle avec laquelle elle a été conçue.
Je suis ultra débutant et j'essaie de me débrouiller seul, mais j'aimerais connaître ce code qui laisserait cette fenêtre la ou je veux qu'elle soit.
C'est l'histoire de me faire gagner un peu de temps, car faut en avoir
quand on se lance dans la programmation.
Voiçi le code, il doit comporter pas mal d'erreurs j'imagine...
A + tous le monde, j'y retourne.

Code : Tout sélectionner
If OpenWindow(0, 0, 994, 1280, 30, "Exemple de menu contextuel", #PB_Window_BorderLess)
StickyWindow(0, 1)
LoadImage(0, "D:\PureBasic\menu.bmp")
ImageGadget(0, 0, 0, 0, 0, ImageID(0))
If CreatePopupImageMenu(0, #PB_Menu_ModernLook)
MenuItem(1,"Tous les programmes")
MenuBar()
MenuItem(2,"Invite de commandes")
MenuItem(3,"Executer...")
MenuBar()
MenuItem(4,"Ouvrir")
MenuBar()
MenuItem(5,"Quitter")
EndIf
Repeat
Select WaitWindowEvent()
Case #WM_LBUTTONUP
DisplayPopupMenu(0,WindowID(0),0,991)
Case #PB_Event_Menu
Select EventMenu()
Case 4 : RunProgram
Case 5 : Quitter = 1
EndSelect
Case #PB_Event_CloseWindow
Quitter = 1
EndSelect
Until Quitter = 1
EndIf
Je place la fenêtre en bas à droite de d'écran :
Z@ph0d//
Code : Tout sélectionner
If ExamineDesktops ()
l = DesktopWidth (0)
h = DesktopHeight (0)
EndIf
If OpenWindow(0,l-100, h-80, 100, 50, "Exemple de menu contextuel", #PB_Window_BorderLess)
StickyWindow(0, 1)
;LoadImage(0, "D:\PureBasic\menu.bmp")
;ImageGadget(0, 0, 0, 0, 0, ImageID(0))
If CreatePopupImageMenu(0, #PB_Menu_ModernLook)
MenuItem(1,"Tous les programmes")
MenuBar()
MenuItem(2,"Invite de commandes")
MenuItem(3,"Executer...")
MenuBar()
MenuItem(4,"Ouvrir")
MenuBar()
MenuItem(5,"Quitter")
EndIf
Repeat
Select WaitWindowEvent()
Case #WM_LBUTTONUP
DisplayPopupMenu(0,WindowID(0))
Case #PB_Event_Menu
Select EventMenu()
;Case 4 : RunProgram
Case 5 : Quitter = 1
EndSelect
Case #PB_Event_CloseWindow
Quitter = 1
EndSelect
Until Quitter = 1
EndIf
pas forcement nonImagine la barre des tâches de Windows; elle se trouve en bas, non ?

si non voici un code qui place une fenetre en bas a droite malgré le changement de résolution
Code : Tout sélectionner
;- Window Constants
Enumeration
#Window_0
#button_0
#TextGadget_0
EndEnumeration
If ExamineDesktops ()
l = DesktopWidth (0)
h = DesktopHeight (0)
EndIf
If OpenWindow(#Window_0, l-600, h-300, 600, 300, "test", #PB_Window_BorderLess)
ButtonGadget(#button_0, 582, 0, 20, 20, "X")
TextGadget(#TextGadget_0, 10, 10,350,20,"fenêtre qui se place automatiquement en bas a droite malgré la résolution")
EndIf
Repeat
EventID = WaitWindowEvent()
If EventID = #PB_Event_Gadget
Select EventGadget()
Case #button_0
End
EndSelect
EndIf
Until EventID = #PB_Event_CloseWindow
@++
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
venom t'a parfaitement bien répondu !!
lorsque tu execute son code
tu as dans l , et h la coordonée maximum de ton bureau
c'est a dire le point en bas a droite !!
en fonction de ceci tu peut disposer ta fenetre comme tu le veux !
sachant que ce petit code te retourne la resolution de ton bureau !!
il ne te faut rien de plus !
lorsque tu execute son code
Code : Tout sélectionner
If ExamineDesktops ()
l = DesktopWidth (0)
h = DesktopHeight (0)
EndIf
c'est a dire le point en bas a droite !!
en fonction de ceci tu peut disposer ta fenetre comme tu le veux !

sachant que ce petit code te retourne la resolution de ton bureau !!
il ne te faut rien de plus !

Merci à tous
Re-coucou
Je n'ai jamais dit que la réponse de venom n'était pas pertinente.
C'est seulement moi qui ai du mal à comprendre (normal cela fait deux jours que j'ai commencé) jamais essayé auparavant, voilà.
En tout cas merci à Dobro et zaphod pour vos réponses c'est très sympa, et en particulier à toi venom qui a parfaitement répondu, j'ai pas capté le placement de ce code suffisamment vite, au temps pour moi.
Excellente continuation à tous
Je n'ai jamais dit que la réponse de venom n'était pas pertinente.
C'est seulement moi qui ai du mal à comprendre (normal cela fait deux jours que j'ai commencé) jamais essayé auparavant, voilà.
En tout cas merci à Dobro et zaphod pour vos réponses c'est très sympa, et en particulier à toi venom qui a parfaitement répondu, j'ai pas capté le placement de ce code suffisamment vite, au temps pour moi.
Excellente continuation à tous
