Dimention boite de dialog avec rc

Résolu
Signaler
Messages postés
123
Date d'inscription
vendredi 14 novembre 2008
Statut
Membre
Dernière intervention
18 juin 2012
-
Messages postés
1910
Date d'inscription
vendredi 18 juin 2004
Statut
Modérateur
Dernière intervention
14 novembre 2014
-
bonjour,
j'ai voulu transposer une interface graphique faite sans ressource dans ressource, mais le probleme c'est que les dimention ne sont pas dutous pareille.
par exemple mais fenetre avait 300 px pour laxe des Y et maintenant elle doit faire envion 700 px.
++

3 réponses

Messages postés
1910
Date d'inscription
vendredi 18 juin 2004
Statut
Modérateur
Dernière intervention
14 novembre 2014
13
Petit exemple:
LONG baseunits=GetDialogBaseUnits();
LONG unitesX=LOWORD(baseunits);
LONG unitesY=HIWORD(baseunits);
// Convertir en pixels:
LONG LargeurEnPixels=MulDiv(LargeurEnUnites,unitesX,4);
LONG HauteurEnPixels=MulDiv(HauteurEnUnites,unitesY,8);
// Convertir en unités:
LONG LargeurEnUnites=MulDiv(LargeurEnPixels,4,unitesX);
LONG HauteurEnUnites=MulDiv(HauteurEnPixels,8,unitesY);
Messages postés
1910
Date d'inscription
vendredi 18 juin 2004
Statut
Modérateur
Dernière intervention
14 novembre 2014
13
Salut,
Avec les boites de dialogue, on n'utilise pas les pixels comme unité de mesure des dimensions. On utilise plutôt une unité spécifique aux boites de dialogue. Cette unité dépend de la police utilisée. Elle est ainsi utilisée dans les fichiers ressources contenant des dialog templates. Pour avoir quelques renseignements à ce sujet tu peux regarder la fonction GetDialogBaseUnits() et MapDialogRect() dans MSDN.
Messages postés
123
Date d'inscription
vendredi 14 novembre 2008
Statut
Membre
Dernière intervention
18 juin 2012

merci racpp mais je compren pas tros l'anglais, peut tu m'expliquer rapidement ces fonction.
Est ce possible de comvertir l'uniter de mesure(enfin chez pas vraiment comment appeler se) d'une boite de dialoge en  px.
++