pb avec GetWindowRect en config double écran - C++ - Programmation
Marsh Posté le 24-08-2006 à 09:55:08
J'ai un vague souvenir d'avoir du utiliser monitorFromRect (ou une API de nom voisin) dans ce cas
une petite recherche MSDN donne : http://windowssdk.msdn.microsoft.c [...] 34817.aspx
bon courage
Marsh Posté le 24-08-2006 à 10:14:53
GetWindowRect renvoie des screen coordinates. SetWindowPos prend des client coordinates.
Marsh Posté le 24-08-2006 à 13:33:09
retrox a écrit : GetWindowRect renvoie des screen coordinates. SetWindowPos prend des client coordinates. |
Oui je viens de m'en apercevoir ce qui m'a permis de trouver une solution à mon problème. Viiblement, mon prédécesseur qui a codé cela, lui ne l'avait pas vu...
Par contre, je comprend toujours pas pourquoi GetWindowRect m'a donné des corrdonnées qui sont sur le deuxième écran alors que ma boite de dialog est sur le premier... mais bon...
Marsh Posté le 24-08-2006 à 14:41:46
Tu peux avoir le "2e" écran à gauche ou à droite (voire en dessous ou au dessus). C'est configurable normalement.
Marsh Posté le 23-08-2006 à 15:09:54
Bonjour à tous,
J'utilise GetWindowRect puis SetWindowPos pour redimensionner dynamiquement un control de texte dans une boite de dialogue.
Tout se passe très bien en config simple écran où quand la boite de dialogue et la fenêtre de mon application sont affichées sur l'écran principal en config double écran. En gros, GetWindowRect me renvoit les coordonnées 22, 147, 113 et 322 pour top, bottom, left et right.
Mais quand la fenêtre de mon application est affichée sur le deuxième écran et que ma boite de dialogue est sur le premier, GetWindowRect me renvoit 22, 147, 1137 et 1346 !! Inutile de vous dire qu'avec les coordonnées suivantes, le SetWindowPos n'arrive pas à afficher le control de texte dans sa boite de dialogue.
Bref, la boite de dialogue étant toujours à la même place, je n'ai pas les même coordonnées selon la position de la fenêtre principale de l'application !
Si quelqu'un a une idée pour résoudre ce problème...
merci
Message édité par zemumu le 23-08-2006 à 15:10:17