Bonjour à tous,
dans le cas d'un système multi écrans, j'aimerais savoir s'il est possible d'afficher une fenêtre sur l'écran de son choix ?
Je vous remercie tous pour l'aide que vous allez m'apporté
Afficher sur l'écran de son choix
Afficher sur l'écran de son choix
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Un homme doit être poli, mais il doit aussi être libre !
- falsam
- Messages : 7324
- Inscription : dim. 22/août/2010 15:24
- Localisation : IDF (Yvelines)
- Contact :
Re: Afficher sur l'écran de son choix
Bureau étendu sur les deux écrans je suppose ?
Utilise ExamineDesktops()
Si affichage sur écran 2
utilise DesktopWidth() pour trouver la largeur du premier écran. Tu auras la coordonnées x de ton ecran 2
Utilise ExamineDesktops()
Si affichage sur écran 2
utilise DesktopWidth() pour trouver la largeur du premier écran. Tu auras la coordonnées x de ton ecran 2
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Re: Afficher sur l'écran de son choix
Bonjour,
J'avais fait un code pour envoyer une fenêtre sur les divers écran possible. La y a juste une fenêtre et un bouton, quand on clique sur le bouton la fenêtre bascule d'écran.
Voila l'adresse : http://www.koakdesign.info/pbfrance/?ur ... wer&val=77
Cordialement,
GallyHC
J'avais fait un code pour envoyer une fenêtre sur les divers écran possible. La y a juste une fenêtre et un bouton, quand on clique sur le bouton la fenêtre bascule d'écran.
Voila l'adresse : http://www.koakdesign.info/pbfrance/?ur ... wer&val=77
Cordialement,
GallyHC
Configuration : Tower: Windows 10 (Processeur: i7 "x64") (Mémoire: 16Go) (GeForce GTX 760 - 2Go) - PureBasic 5.72 (x86 et x64)
Re: Afficher sur l'écran de son choix
Merci pour le lien GallyHC.
Pour compléter l'explication de Falsam, chez bicrosoft, les écrans se succèdent, comme le linge étendu sur un fil : tu as le T-Short "Ecran principal", tenu avec 2 pinces à linge, puis sur sa droite, le mouchoir en tissu brodé "Ecran secondaire" avec 2 pinces à linge aussi.
Cette disposition permet de choisir son écran en modifiant simplement le paramètre x d'une fenêtre. D'où le bon conseil de Falsam, plus haut.
Pour compléter l'explication de Falsam, chez bicrosoft, les écrans se succèdent, comme le linge étendu sur un fil : tu as le T-Short "Ecran principal", tenu avec 2 pinces à linge, puis sur sa droite, le mouchoir en tissu brodé "Ecran secondaire" avec 2 pinces à linge aussi.
Cette disposition permet de choisir son écran en modifiant simplement le paramètre x d'une fenêtre. D'où le bon conseil de Falsam, plus haut.
Re: Afficher sur l'écran de son choix
Bonjour,
Pour compléter aussi un peu olivier tout cela est valable si l'affichage multiple est bien en mode étendu.
Cordialement,
GallyHC
Pour compléter aussi un peu olivier tout cela est valable si l'affichage multiple est bien en mode étendu.
Cordialement,
GallyHC
Configuration : Tower: Windows 10 (Processeur: i7 "x64") (Mémoire: 16Go) (GeForce GTX 760 - 2Go) - PureBasic 5.72 (x86 et x64)
- falsam
- Messages : 7324
- Inscription : dim. 22/août/2010 15:24
- Localisation : IDF (Yvelines)
- Contact :
Re: Afficher sur l'écran de son choix
Petit code pour mettre en pratique ce que j'ai dit précédemment.
Je pars du principe qu'il n'y a que deux moniteur (0 et 1)J'ai testé ce code sur un pc connecté à deux moniteurs 17" et 24". Le bureau est étendu sur les deux écrans.
Je pars du principe qu'il n'y a que deux moniteur (0 et 1)
Code : Tout sélectionner
Structure NewDesktop
x.i
w.i
h.i
EndStructure
Structure NewExtendedDesktop
Desktop0.NewDesktop
Desktop1.NewDesktop
EndStructure
Global Desktop.NewExtendedDesktop
Global CountDesktop = ExamineDesktops(), n
Declare SetupDesktop()
Declare ShowWindow(Desktop = 0)
Declare Exit()
;Initialisation desktop étendue
SetupDesktop()
;Afficher la fenetre sur le desktop 1 (0 par defaut)
ShowWindow(1)
;Bizarrerie : Si pas de fenetre l'examinedesktop est plus long
Procedure SetupDesktop()
OpenWindow(0, 0, 0, 400, 200, "", #PB_Window_Invisible)
;Configuration du bureau étendu
If ExamineDesktops() = 2
Desktop\Desktop0\x = 0
Desktop\Desktop0\w = DesktopWidth(0)
Desktop\Desktop0\h = DesktopHeight(0)
Desktop\Desktop1\x = DesktopWidth(0)
Desktop\Desktop1\w = DesktopWidth(1)
Desktop\Desktop1\h = DesktopHeight(1)
EndIf
CloseWindow(0)
EndProcedure
;Affichage de la fenetre de test
Procedure ShowWindow(DesktopNumber = 0)
Protected x, y = #PB_Ignore, w = #PB_Ignore, h = #PB_Ignore
Protected Flag = #PB_Window_SystemMenu | #PB_Window_Maximize | #PB_Window_MaximizeGadget
OpenWindow(0, x, 0, 800, 600, "Ma fenetre", Flag)
If DesktopNumber = 1
If Flag & Flag & #PB_Window_Maximize
x = Desktop\Desktop0\w
w = Desktop\Desktop1\w
h = Desktop\Desktop1\h
ElseIf Flag & #PB_Window_ScreenCentered
x = Desktop\Desktop0\w + Desktop\Desktop1\w / 2 - WindowWidth(0)/2
Else
x = Desktop\Desktop0\w + WindowX(0)
EndIf
ResizeWindow(0, x, y, w, h)
EndIf
BindEvent(#PB_Event_CloseWindow, @Exit())
Repeat : WaitWindowEvent() : ForEver
EndProcedure
Procedure Exit()
End
EndProcedure
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Re: Afficher sur l'écran de son choix
Mais tout ça est excellent, énorme merci pour ce partage
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Un homme doit être poli, mais il doit aussi être libre !
Re: Afficher sur l'écran de son choix
Oui il faut faire attention. Car on peut avoir des bureau a gauche, droite mais aussi en haut et bas.
@++

@++
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
GPU : radeon HD6370M, CPU : p6200 2.13Ghz