GÉRER LE MULTI-ÉCRAN

VBGenesis Messages postés 292 Date d'inscription samedi 25 février 2006 Statut Membre Dernière intervention 22 février 2009 - 19 août 2006 à 17:00
frederic_bourgouin Messages postés 2 Date d'inscription jeudi 13 novembre 2003 Statut Membre Dernière intervention 25 février 2008 - 25 févr. 2008 à 12:04
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/39181-gerer-le-multi-ecran

frederic_bourgouin Messages postés 2 Date d'inscription jeudi 13 novembre 2003 Statut Membre Dernière intervention 25 février 2008
25 févr. 2008 à 12:04
Exactement ce dont j'avais besoin. Merci.
tilp Messages postés 10 Date d'inscription mardi 12 octobre 2004 Statut Membre Dernière intervention 16 novembre 2008
10 janv. 2008 à 22:20
Mad ? ça veut dire Fou ? Un programme de Fou donc ! Félicitations, c'est parfait ! Ce que je recherchais ! 10 sur 10. Merci.
allarabeye Messages postés 37 Date d'inscription lundi 13 juin 2005 Statut Membre Dernière intervention 8 mars 2008
19 mars 2007 à 12:40
ok, je vais essayer.Ben ce programme est pour moi.Merci je te tiens au courant.
MadM@tt Messages postés 2167 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 16 juillet 2009 1
19 mars 2007 à 12:36
Ah ok, alors déjà y'a la solution bricolage, si tu utilisera ce programme uniquement pour toi :
Tu sais que tu as 2 écrans, donc le tableau :
VirtualScreen.Monitor(T)
sera pour T allant de 0 à 1

Essaye donc de faire tes dimensions de ta form en fonction du VirtualScreen.Monitor(0), puis si c'est pas le bon ecran, essaye de faire avec VirtualScreen.Monitor(1).

Si c'est un programme à distribuer et qu'il doit marcher avec n'importe quel pc et n'importe quelle configuration, alors tu fait une boucle pour trouver que Monitor est le principal (IsMainMonitor = True), et la tu prend les dimensions de l'autre Monitor.
allarabeye Messages postés 37 Date d'inscription lundi 13 juin 2005 Statut Membre Dernière intervention 8 mars 2008
19 mars 2007 à 09:53
ok,en effet ce sont les dimensions physiques des écrans que je voudrai. Je m'explique,je suis entrain de crée un programme me permettant d'afficher de la vidéo avec windows media player. et je voudrai que ces vidéos soient en fullscreen sans toute fois se reduire lorsque windows media player charge une nouvelle video.alors comme astuce,j'affiche windows media player sur une nouvelle forme qui elle prendra les dimensions de mon second écran (mode bureau etendu),agrandira l'affichage de windows media player comme si c'étais en fullscreen.mais le probleme est que les dimensions de ma form sont les dimensions de mon premier écran,a cet effet imaginez que mon premier ecran (celui de pc) est de 15" et mon second ecran (ecran tv) soit du 21", la form ou se trouve mon windows media player prendra les dimensions du 15" se qui ne remplira pas la totalité de mon second ecran. J'espere que je me suis fait comprendre. Merci pour votre aide.
MadM@tt Messages postés 2167 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 16 juillet 2009 1
16 mars 2007 à 20:34
Merci Allarabeye.

Pour ta question pas la peine d'insister avec un message perso ;)
La réponse, c'est ce code ? Je vois pas ou est la question. Si tu veux c'est plus précisément dans :
VirtualScreen.Monitor(T).Dimensions_Left
A noter qu'il n'y a qu'un seul ecran virtuel (c'est celui qui contient tous les ecrans physique). Tu voulais donc surement parler des ecrans physique, qui sont nommés dans le code "Monitor".
allarabeye Messages postés 37 Date d'inscription lundi 13 juin 2005 Statut Membre Dernière intervention 8 mars 2008
16 mars 2007 à 18:25
Trop cool ton programme,mes félicitations. je te donne 10/10
ça me servira dans mes codes d'interface multi-ecran. je voudrai savoir comment faire pour avoir les dimensions des écran virtuels? (largeur,hauter,gauche)?
:)
cs_AMENO Messages postés 13 Date d'inscription samedi 12 juillet 2003 Statut Membre Dernière intervention 26 septembre 2006
26 sept. 2006 à 03:09
Rien à Dire, Superrrr
MadM@tt Messages postés 2167 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 16 juillet 2009 1
22 août 2006 à 02:03
Arfff l'erreur de débutant lol. Effectivement j'avais pas rapporté les coordonées par rapport à celles de l'écran virtuel, tout était fait par rapport à l'écran principal.

Bon les bug sont résolus, regardez la capture, pour l'occaz, j'ai configuré mon 2è écran super bizarrement pour bien tester le code.


Merci beaucoup de m'avoir soulevé ce problème ;)


PS : joebarteamv > L'utilité de ce truc ?? pour moi c'est capital pour ma sidebar. je compte faire une sidebar à windows, et dès que y'a plusieurs écran, ta sidebar elle se tape la honte parce qu'elle reste ancré à l'écran principal et se trouve entre 2 écran. Donc la je pourrais gérer le multi écran, ça fera beaucoup plus pro je pense (avis perso)
bonne prog à + ;)
cs_DarkVader Messages postés 51 Date d'inscription samedi 21 octobre 2000 Statut Membre Dernière intervention 10 octobre 2011
21 août 2006 à 19:33
Le code dans form_resize est incorrect.
Tu n'as pas pris en compte toutes les combinaisons -
conclusion : le second écran de ma seconde carte n'est pas affiché
alors que le décompte du nombre d'écrans (T) est correct.

Bon courage, le plus dur est fait 8)
joebarteamv Messages postés 65 Date d'inscription samedi 25 janvier 2003 Statut Membre Dernière intervention 5 novembre 2008
21 août 2006 à 18:39
bonjour je ne vois pas trop utilité de ta source...pour info evenement de agrandissement de la fenetre plante! erreur execution '384:une feuille ne peut etre deplacée...'(ce peut etre le bug que tu signales plus haut)
Pour info,j'obiten pas d'info sur mon deuxieme ecran!
bonne continuation...
MadM@tt Messages postés 2167 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 16 juillet 2009 1
20 août 2006 à 13:59
oula je ne pense pas ^^, enfin de toute façon avec SHAppBarMessage ça dock une form sur un coin de l'écran, mais impossible de spécifier quel écran. Non non je ne pense pas que ça marche de combiner les 2.
Et ça fout les boules parce que avec SystemParametersInfo on peut choisir l'écran, mais pour voir les bugs va voir le lien que j'ai mis dans mon commentaire précédent et tu comprendra, c'est difficilement utilisable
cs_FraGag Messages postés 81 Date d'inscription jeudi 19 février 2004 Statut Membre Dernière intervention 18 avril 2008
20 août 2006 à 05:45
Et qu'est-ce que ça donne quand tu fais SHAppBarMessage ET SystemParametersInfo ? Est-ce que c'est faisable, au moins ?...
MadM@tt Messages postés 2167 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 16 juillet 2009 1
19 août 2006 à 18:17
par contre si quelqu'un a une idée pour modifier l'espace utilisable d'un écran. J'ai actuellement 2 solutions :

- Avec SystemParametersInfo (voir exemple ici : http://www.vbfrance.com/code.aspx?ID=24091
mais windows bugge avec ça : ça ne redimmensionne pas les fenetres ouvertes

- avec SHAppBarMessage qui marche très bien: mais je n'arrive pas à y faire gérer le multi écran
MadM@tt Messages postés 2167 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 16 juillet 2009 1
19 août 2006 à 17:17
Alain> Aucune idée, enfin ça servirait surtout par exemple pour faire une sidebar... Ou mieux, par exemple un jeu qui supporte les multi ecran (c'est pas courant de mon experience), ou meme n'importe quel logiciel que l'ont pourrait "optimiser" pour le multiecran.
Je pense que, pour certains programme, il y a moyen de faire des super trucs en gérant les multi ecran (après ça rajoute des trucs à programmer quoi)
cs_Alain Proviste Messages postés 908 Date d'inscription jeudi 26 juillet 2001 Statut Modérateur Dernière intervention 1 février 2015 2
19 août 2006 à 17:14
il y a quoi comme programme déjà existants pour faire ça ? powerstrip et les drivers ati/nvidia ?
VBGenesis Messages postés 292 Date d'inscription samedi 25 février 2006 Statut Membre Dernière intervention 22 février 2009
19 août 2006 à 17:00
Super sa peut etre utile
Rejoignez-nous