Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

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

5 réponses
Avatar
Stéphane Vasseur
Bonjour =E0 la communaut=E9,

J'ai de nouveau un probl=E8me ou je butte depuis quelques jours.

Je g=E8re 2 =E9crans 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=E9solution d'origine j'utilise :

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

alors r=E9sultat des courses :
quand je modifie la r=E9solution de mon display1 par une plus basse
imaginons du 640X480 au lieu des 1280X1024 normal de mon bureau. Quand
je restaure la r=E9solution de 1280X1024 --> pas de soucis mes ic=F4nes se
retrouve =E0 la m=EAme places
Par contre quand je fait ca avec le display2 mes ic=F4nes se retrouvent
a =EAtre sur les bords des 640X480 ce qui chamboule tout mon bureau :-(

Comment =E9viter ce ph=E9nom=E8ne ?


Merci d'avance



Cordialement


St=E9phane

5 réponses

Avatar
Alain
"Stéphane Vasseur" a écrit dans le message de
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 ?
Avatar
Stéphane Vasseur
On 10 oct, 14:33, "Alain" wrote:
"Stéphane Vasseur" a écrit dans le message denews: e3130c6a-c839-43a3-b53d-68fde74b8__BEGIN_MASK_n#9g02mG7!__...__END_ MASK_i?a63jfAD$

>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
Avatar
Stéphane Vasseur
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
Avatar
Stéphane Vasseur
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
Avatar
nico
Stéphane Vasseur wrote:
On 10 oct, 14:33, "Alain" wrote:
"Stéphane Vasseur" a écrit dans le message denews: e3130c6a-c839-43a3-b53d-68fde74b8__BEGIN_MASK_n#9g02mG7!__...__END_MASK_i?a63jfAD$

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 ?