jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 2012
-
22 juin 2007 à 07:58
cs_Ouneufe
Messages postés60Date d'inscriptionmardi 4 septembre 2001StatutMembreDernière intervention19 janvier 2009
-
19 janv. 2009 à 16:37
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
cs_Ouneufe
Messages postés60Date d'inscriptionmardi 4 septembre 2001StatutMembreDernière intervention19 janvier 2009 19 janv. 2009 à 16:37
positionner intelligemment une msgbox est plus qu'utile, surtout à l'heure des écrans ultra wide panoramiques, merci pour ce code.
cs_alpamayo
Messages postés16Date d'inscriptionjeudi 20 février 2003StatutMembreDernière intervention22 septembre 2010 22 août 2007 à 11:18
C'est pas du tout inutile ton code, c'est justement ce que je cherchais, même en simple écran : je voulais centrer le msgbox sur l'appli et non l'écran (si ton appli est petite, le msgbox s'affiche à côté de l'appli, je trouvais ça génant)
Merci,
cs_lermite222
Messages postés492Date d'inscriptionjeudi 5 avril 2007StatutMembreDernière intervention 2 juillet 20124 3 juil. 2007 à 21:27
Bonjour à tous,
Si c'est encore d'actualité....
J'ai testé la source sur mes deux écrans. Ce n'était pas concluant, j'ai ajouter une forme <Form2> avec 2 label et un timer, plus form3, j'ai afficher en permanence les coordonées de form3 sur les labels de form2. Le résultat est des plus simpliste, Windows agit comme un seul écran mais avec les coordonnées horizontales de écran1+écran2 ce qui fait que quand je met form3 au bout de écran2 je suis à plus de 32000, à la place de 16000 pour mon 1er écran 16/9
A+
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 25 juin 2007 à 21:19
Pour la petite histoire :
La coincidence a fait qu'une question a été posée là :
http://www.xtremevbtalk.com/showthread.php?t=284982 Je m'abstiens d'intervenir là-bas (et pourtant... j'aurais de bonnes raisons de le faire !!!... peut-être ...).
Précision : ils ne connaissent pas la solution en simple écran, avant même d'avoir à se creuser les méninges pour traiter en double écran... mais je laisse. Si solution totale : elle sera celle de VBFrance, promis.
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 25 juin 2007 à 08:37
Bonjour Julien et Merci...
Mais il n'y a aucune urgence.... (Ton boulot d'abord.... le reste quand tu t'ennuieras ... C'est évident.)
Merci encore.
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 25 juin 2007 à 07:55
Salut,
> Dès que j'ai 5 minutes, j'essaierais tout ce que tu demandes jmfmarques (enfin si personne ne s'en est encore occupé), mais là je crois que ca va etre dur car c'est une semaine qui s'annonce éprouvante au taf (même pas 8 heures et déjà le bordel annoncé)...
Aller @+
Julien
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 24 juin 2007 à 08:30
Bonjour,
Qui (travaillant en double-écran), peut s'intéresser à la valeut dmPosition donnée au paramètre lpDevMode ( le 2ème, en entrée ) de la fonction ChangeDisplaySettingsEx de la librairie user32 de l'API de Windows ?
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 23 juin 2007 à 12:00
Ah oui,
J'ai oubliié de vous dire (suis-je distrait !...)
Vous pouvez bien évidemment positionner également de cette façon une InputBox (bien que inputbox vous permette déla de choisir l'emplacement).... et... bien d'autres petites choses ... dont l'affichage des commondialogs....
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 23 juin 2007 à 10:30
Ne pas avoir de double-écran ne m'empêche pas de me creuser la cervelle et la chose me rend malheureux.
Julien (toi qui en as un, de double écran) : peux-tu faire un petit projet, y insérer un conrôle sysinfo, et me dire si les éléments du Workarea (top, left, width et height) y sont les mêmes en simple écran et double écran ?
(juste pour le cas où VB aurait pensé à se mettre d'accord avec Windows sur ce point là)
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 22 juin 2007 à 18:40
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 22 juin 2007 à 18:37
Pour ceux qui (à la fois) ont un double-écran et veulent et peuvent tenter de s'y mettre, il me semble que cette concersation est relativement intéressante et peut révêler certaines piste :
http://www.thescripts.com/forum/thread13209.html
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 22 juin 2007 à 18:13
Bon...
Je ne m'attendais pas à un tel intérêt pour une chose que j'estimais vraiment inutile.
J'attendrai cette nuit (quand peu de gens seront présents) pour faire le petit ménage des 2 bricoles inutiles.
Gérer pour un double-écran ? Je vois mal comment faire, en effet, sans avoir un double écran moi-même...
Je ne serais certes pas offusqué si l'un d'entre vous (ou un autre), possédant un double-écran, s'y mettait.
Dans l'état actuel des choses, pour être tout-à-fait franc, j'ignore jusqu'à la façon dont Windows gère l'affichage sur 2 écrans ! (est-elle la même pour une seule fenêtre dont l'affichage est réparti sur 2 écrans et pour 2 fenêtres, l'une sur un écran et( l'autre sur l'autre ? ... je suis dans l'ignorance TOTALE de ces subtilités...)
MadM@tt
Messages postés2167Date d'inscriptionmardi 11 novembre 2003StatutMembreDernière intervention16 juillet 20091 22 juin 2007 à 15:37
Ah oui ça c'est de la mémoire ^^
Effectivement c'est ce que j'allait suggerer, y'a peut etre un autre système de coordonées à utiliser je sais plus trop. Enfin ce qui est sur, c'est que tu va avoir du mal à tester si t'as pas 2 ecrans. Et j'aurais bien regardé chez moi mais pour l'instant j'en ai qu'un. Et j'ai regardé sur la MSDN pour SetWindowPos mais ils ne parlent pas de problème avec double écran.
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 22 juin 2007 à 13:31
salut,
ta source inutile... pourrait justement le devenir grâce à la gestion du dualscreen.
il est très concevable d'avoir une application ne fonctionnant QUE sur bureau étendu (progiciel) et de réserver un cadre (zone RECT) aux alertes et autres boîtes de dialogue diverses.
je sais bien que tu aimes à fournir un code asis, prend qui veut et modifie qui veut plus, mais çà serait l'occasion non?
et de mémoire (à vérifier) MadM@tt a fait une source traitant justement du double-écran.
++ ;)
PCPT [AFCK]
violent_ken
Messages postés1812Date d'inscriptionmardi 31 mai 2005StatutMembreDernière intervention26 octobre 20102 22 juin 2007 à 13:31
Je n'ai pas encore regardé le code avec précision ni même testé la source, mais c'est vraiment un truc (pourtant simple dans son résultat) qui manquait sur vbfrance.
Bien joué ;)
@+
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 22 juin 2007 à 11:07
Salut,
[mode tatillon] Oui mais dans le souci constant de fournir des sources de qualité, je pense que tu devrais mettre ta source à jour avec les modifications qu'il fauttatillon
:)
Aller je sors
@+
Julien
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 22 juin 2007 à 10:34
Bonjour HVB
Tu as raison !
Tout simplement : je n'ai pas fait le ménage dans ce que j'ai écrit en ronchonnant....
C'est d'ailleurs ainsi qu'est restée la sub MSGcoininfgauchescr_Click (qui est da'ailleurs inhibée par un exit sub à son début). J'avais l'intention de gérer ce positionnement également, mais ai laissé tomber car il me fallait calculer la hauteur de la MsgBox et j'en avais assez de cette histoire-là ... (Hé Hé )
hvb
Messages postés939Date d'inscriptionvendredi 25 octobre 2002StatutMembreDernière intervention27 janvier 20093 22 juin 2007 à 09:33
simpa, mais aucunes critiques, alors je vais le faire :D
Tu affecte 'en dur' la valeur false au resultat de ta fonction "position" , useless nan..?
Ouais bon ok, c'etait juste histoire de mettre un commentaire...
Bonne continuation jmfmarques :)
cs_Exploreur
Messages postés4821Date d'inscriptionlundi 11 novembre 2002StatutMembreDernière intervention15 novembre 201615 22 juin 2007 à 08:50
Salut Jmfmarques,
Moi je dit Bravo, comme le dit Mortalino, code clair...que du pur bonheur...encore une fois Bravo...
A+
Exploreur
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 22 juin 2007 à 08:35
Je n'en sais rigoureusement rien (je n'ai jamais travaillé en double-écran...)
Il y a surement un truc de gestion du double-écran, là....
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 22 juin 2007 à 08:27
Re,
Bingo, c'est ca.
Alors le tout maintenant est de savoir pourquoi.
Quelqu'un aurait une petite idée en passant...
Moi je m'en vais inspecter le code pour voir ce qui cloche avec la gestion double-ecran.
@+
Julien
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 22 juin 2007 à 08:24
Re,
Et bien j'ai Windows 2000 et VB6 Service pack 6.
Je ne sais pas si cela peu jouer mais j'ai aussi 2 écran pour développer.
je vais faire le test avec un seul écran et je reviens.
@+
Julien
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 22 juin 2007 à 08:18
Ca fonctionne nickel ^^
Le code est très bien fait, bien optimisé avec les apis ;)
Juste une chose : le premier évènement
--> MSGcoininfgauchescr_Click n'est pas utilisé car pas de bouton
Sinon, ça vallait le déplacement, je te met 10 pour ton code "qui ne sert à rien" ;)
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 22 juin 2007 à 08:17
Je ne comprends pas pourquoi cela ne marche pas chez toi, Julien...
Chez moi : aucun problème ...
Quel OS as-tu ?
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 22 juin 2007 à 08:10
Re,
Je viens de testé la source.
Est ce normal que chez moi la msgbox s'affiche TOUJOURS au meme endroit?
J'ai pas encore regardé le code. Est ce juste une farce? mais ca m'étonnerait, je pense plus à une incompatibilité chez moi.
19 janv. 2009 à 16:37
22 août 2007 à 11:18
Merci,
3 juil. 2007 à 21:27
Si c'est encore d'actualité....
J'ai testé la source sur mes deux écrans. Ce n'était pas concluant, j'ai ajouter une forme <Form2> avec 2 label et un timer, plus form3, j'ai afficher en permanence les coordonées de form3 sur les labels de form2. Le résultat est des plus simpliste, Windows agit comme un seul écran mais avec les coordonnées horizontales de écran1+écran2 ce qui fait que quand je met form3 au bout de écran2 je suis à plus de 32000, à la place de 16000 pour mon 1er écran 16/9
A+
25 juin 2007 à 21:19
La coincidence a fait qu'une question a été posée là :
http://www.xtremevbtalk.com/showthread.php?t=284982
Je m'abstiens d'intervenir là-bas (et pourtant... j'aurais de bonnes raisons de le faire !!!... peut-être ...).
Précision : ils ne connaissent pas la solution en simple écran, avant même d'avoir à se creuser les méninges pour traiter en double écran... mais je laisse. Si solution totale : elle sera celle de VBFrance, promis.
25 juin 2007 à 08:37
Mais il n'y a aucune urgence.... (Ton boulot d'abord.... le reste quand tu t'ennuieras ... C'est évident.)
Merci encore.
25 juin 2007 à 07:55
> Dès que j'ai 5 minutes, j'essaierais tout ce que tu demandes jmfmarques (enfin si personne ne s'en est encore occupé), mais là je crois que ca va etre dur car c'est une semaine qui s'annonce éprouvante au taf (même pas 8 heures et déjà le bordel annoncé)...
Aller @+
Julien
24 juin 2007 à 08:30
Qui (travaillant en double-écran), peut s'intéresser à la valeut dmPosition donnée au paramètre lpDevMode ( le 2ème, en entrée ) de la fonction ChangeDisplaySettingsEx de la librairie user32 de l'API de Windows ?
23 juin 2007 à 12:00
J'ai oubliié de vous dire (suis-je distrait !...)
Vous pouvez bien évidemment positionner également de cette façon une InputBox (bien que inputbox vous permette déla de choisir l'emplacement).... et... bien d'autres petites choses ... dont l'affichage des commondialogs....
23 juin 2007 à 10:30
Julien (toi qui en as un, de double écran) : peux-tu faire un petit projet, y insérer un conrôle sysinfo, et me dire si les éléments du Workarea (top, left, width et height) y sont les mêmes en simple écran et double écran ?
(juste pour le cas où VB aurait pensé à se mettre d'accord avec Windows sur ce point là)
22 juin 2007 à 18:40
http://support.microsoft.com/kb/194578/fr
22 juin 2007 à 18:37
http://www.thescripts.com/forum/thread13209.html
22 juin 2007 à 18:13
Je ne m'attendais pas à un tel intérêt pour une chose que j'estimais vraiment inutile.
J'attendrai cette nuit (quand peu de gens seront présents) pour faire le petit ménage des 2 bricoles inutiles.
Gérer pour un double-écran ? Je vois mal comment faire, en effet, sans avoir un double écran moi-même...
Je ne serais certes pas offusqué si l'un d'entre vous (ou un autre), possédant un double-écran, s'y mettait.
Dans l'état actuel des choses, pour être tout-à-fait franc, j'ignore jusqu'à la façon dont Windows gère l'affichage sur 2 écrans ! (est-elle la même pour une seule fenêtre dont l'affichage est réparti sur 2 écrans et pour 2 fenêtres, l'une sur un écran et( l'autre sur l'autre ? ... je suis dans l'ignorance TOTALE de ces subtilités...)
22 juin 2007 à 15:37
Effectivement c'est ce que j'allait suggerer, y'a peut etre un autre système de coordonées à utiliser je sais plus trop. Enfin ce qui est sur, c'est que tu va avoir du mal à tester si t'as pas 2 ecrans. Et j'aurais bien regardé chez moi mais pour l'instant j'en ai qu'un. Et j'ai regardé sur la MSDN pour SetWindowPos mais ils ne parlent pas de problème avec double écran.
22 juin 2007 à 13:31
ta source inutile... pourrait justement le devenir grâce à la gestion du dualscreen.
il est très concevable d'avoir une application ne fonctionnant QUE sur bureau étendu (progiciel) et de réserver un cadre (zone RECT) aux alertes et autres boîtes de dialogue diverses.
je sais bien que tu aimes à fournir un code asis, prend qui veut et modifie qui veut plus, mais çà serait l'occasion non?
et de mémoire (à vérifier) MadM@tt a fait une source traitant justement du double-écran.
++ ;)
PCPT [AFCK]
22 juin 2007 à 13:31
Bien joué ;)
@+
22 juin 2007 à 11:07
[mode tatillon] Oui mais dans le souci constant de fournir des sources de qualité, je pense que tu devrais mettre ta source à jour avec les modifications qu'il fauttatillon
:)
Aller je sors
@+
Julien
22 juin 2007 à 10:34
Tu as raison !
Tout simplement : je n'ai pas fait le ménage dans ce que j'ai écrit en ronchonnant....
C'est d'ailleurs ainsi qu'est restée la sub MSGcoininfgauchescr_Click (qui est da'ailleurs inhibée par un exit sub à son début). J'avais l'intention de gérer ce positionnement également, mais ai laissé tomber car il me fallait calculer la hauteur de la MsgBox et j'en avais assez de cette histoire-là ... (Hé Hé )
22 juin 2007 à 09:33
Tu affecte 'en dur' la valeur false au resultat de ta fonction "position" , useless nan..?
Ouais bon ok, c'etait juste histoire de mettre un commentaire...
Bonne continuation jmfmarques :)
22 juin 2007 à 08:50
Moi je dit Bravo, comme le dit Mortalino, code clair...que du pur bonheur...encore une fois Bravo...
A+
Exploreur
22 juin 2007 à 08:35
Il y a surement un truc de gestion du double-écran, là....
22 juin 2007 à 08:27
Bingo, c'est ca.
Alors le tout maintenant est de savoir pourquoi.
Quelqu'un aurait une petite idée en passant...
Moi je m'en vais inspecter le code pour voir ce qui cloche avec la gestion double-ecran.
@+
Julien
22 juin 2007 à 08:24
Et bien j'ai Windows 2000 et VB6 Service pack 6.
Je ne sais pas si cela peu jouer mais j'ai aussi 2 écran pour développer.
je vais faire le test avec un seul écran et je reviens.
@+
Julien
22 juin 2007 à 08:18
Le code est très bien fait, bien optimisé avec les apis ;)
Juste une chose : le premier évènement
--> MSGcoininfgauchescr_Click n'est pas utilisé car pas de bouton
Sinon, ça vallait le déplacement, je te met 10 pour ton code "qui ne sert à rien" ;)
22 juin 2007 à 08:17
Chez moi : aucun problème ...
Quel OS as-tu ?
22 juin 2007 à 08:10
Je viens de testé la source.
Est ce normal que chez moi la msgbox s'affiche TOUJOURS au meme endroit?
J'ai pas encore regardé le code. Est ce juste une farce? mais ca m'étonnerait, je pense plus à une incompatibilité chez moi.
@+
Julien