problème déplacement d'icônes lors de la restauration de ma résolution d'écran

Le
Stéphane Vasseur
Bonjour à la communauté,

J'ai de nouveau un problème ou je butte depuis quelques jours.

Je gère 2 écrans donc j'ai Display1 qui est le principal et display2
le secondaire.

Pour ca j'utilise ChangeDisplaySettingsEx(pdevice, &dmScreenSettings,
NULL,0,NULL)
Pdevice pointe sur le nom du bon display
et dmScreenSettings sur mon devmode

pour restaurer ma résolution d'origine j'utilise :

ChangeDisplaySettingsEx(pdevice,NULL,NULL,0,NULL);

alors résultat des courses :
quand je modifie la résolution de mon display1 par une plus basse
imaginons du 640X480 au lieu des 1280X1024 normal de mon bureau. Quand
je restaure la résolution de 1280X1024 --> pas de soucis mes icônes se
retrouve à la même places
Par contre quand je fait ca avec le display2 mes icônes se retrouvent
a être sur les bords des 640X480 ce qui chamboule tout mon bureau :-(

Comment éviter ce phénomène ?


Merci d'avance



Cordialement


Stéphane
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Alain
Le #20328091
"Stéphane Vasseur" news:

quand je modifie la résolution de mon display1 par une plus basse
imaginons du 640X480 au lieu des 1280X1024 normal de mon bureau. Quand
je restaure la résolution de 1280X1024 --> pas de soucis mes icônes se
retrouve à la même places
Par contre quand je fait ca avec le display2 mes icônes se retrouvent
a être sur les bords des 640X480 ce qui chamboule tout mon bureau :-(
Comment éviter ce phénomène ?



Tu as testé avec les différentes combinaisons de flags
CDS_TEST d'abord, puis les autres CDS ?
Stéphane Vasseur
Le #20328251
On 10 oct, 14:33, "Alain"
"Stéphane Vasseur"
>quand je modifie la résolution de mon display1 par une plus basse
>imaginons du 640X480 au lieu des 1280X1024 normal de mon bureau. Quand
>je restaure la résolution de 1280X1024 --> pas de soucis mes icônes se
>retrouve à la même places
>Par contre quand je fait ca avec le display2 mes icônes se retrouvent
>a être sur les bords des 640X480 ce qui chamboule tout mon bureau :-(
> Comment éviter ce phénomène ?

Tu as testé avec les différentes combinaisons de flags
 CDS_TEST  d'abord, puis les autres CDS ?



hum non pas du tout mais ce qui est bizarre c'es que tel quel ca
marche avec le display primaire et non avec le secondaire
Stéphane Vasseur
Le #20328661
mon code donne ca et apres test ca marche toujours pas:
char *pdevice = "\\.\DISPLAY2";
DEVMODE dmScreenSettings;
memset(&dmScreenSettings,0,sizeof(dmScreenSettings));
dmScreenSettings.dmSize = sizeof
(dmScreenSettings);
dmScreenSettings.dmPelsWidth = width;
dmScreenSettings.dmPelsHeight = height;
dmScreenSettings.dmBitsPerPel = nbp;
dmScreenSettings.dmFields = DM_BITSPERPEL | DM_PELSWIDTH |
DM_PELSHEIGHT | DM_DISPLAYFREQUENCY | DM_POSITION | DM_DISPLAYFLAGS;
dmScreenSettings.dmPosition.x = 1280;
dmScreenSettings.dmPosition.y = 0;
dmScreenSettings.dmDisplayFrequency = 60;
dmScreenSettings.dmDisplayFlags = 0;
if (ChangeDisplaySettingsEx(pdevice, &dmScreenSettings, NULL,
CDS_FULLSCREEN, NULL) != DISP_CHANGE_SUCCESSFUL)

et pour reinitialiser mon ecran a l'état antérieur :

ChangeDisplaySettingsEx(pdevice,NULL,NULL,0,NULL);


mais voila ca marche pas
Stéphane Vasseur
Le #20328651
mon code donne ca et apres test ca marche toujours pas:
char *pdevice = "\\.\DISPLAY2";
DEVMODE dmScreenSettings;
memset(&dmScreenSettings,0,sizeof(dmScreenSettings));
dmScreenSettings.dmSize = sizeof
(dmScreenSettings);
dmScreenSettings.dmPelsWidth = width;
dmScreenSettings.dmPelsHeight = height;
dmScreenSettings.dmBitsPerPel = nbp;
dmScreenSettings.dmFields = DM_BITSPERPEL | DM_PELSWIDTH |
DM_PELSHEIGHT | DM_DISPLAYFREQUENCY | DM_POSITION | DM_DISPLAYFLAGS;
dmScreenSettings.dmPosition.x = 1280;
dmScreenSettings.dmPosition.y = 0;
dmScreenSettings.dmDisplayFrequency = 60;
dmScreenSettings.dmDisplayFlags = 0;
if (ChangeDisplaySettingsEx(pdevice, &dmScreenSettings,
NULL,CDS_FULLSCREEN, NULL) != DISP_CHANGE_SUCCESSFUL)

et pour reinitialiser mon ecran a l'état antérieur :

ChangeDisplaySettingsEx(pdevice,NULL,NULL,0,NULL);

mais voila ca marche pas
nico
Le #20328811
Stéphane Vasseur wrote:
On 10 oct, 14:33, "Alain"
"Stéphane Vasseur"
quand je modifie la résolution de mon display1 par une plus basse
imaginons du 640X480 au lieu des 1280X1024 normal de mon bureau. Quand
je restaure la résolution de 1280X1024 --> pas de soucis mes icônes se
retrouve à la même places
Par contre quand je fait ca avec le display2 mes icônes se retrouvent
a être sur les bords des 640X480 ce qui chamboule tout mon bureau :-(
Comment éviter ce phénomène ?


Tu as testé avec les différentes combinaisons de flags
CDS_TEST d'abord, puis les autres CDS ?



hum non pas du tout mais ce qui est bizarre c'es que tel quel ca
marche avec le display primaire et non avec le secondaire



Tu as testé des sharewares ou freewares, genre MurGeeMon
(http://www.murgee.com/MurGeeMon/)
pour voir s'ils ont le même comportement, pour savoir si ça vient de ton
code ou de Windows ?
Publicité
Poster une réponse
Anonyme