[API] Fenêtre adaptable selon la résolution

tarretg Messages postés 22 Date d'inscription lundi 18 juin 2007 Statut Membre Dernière intervention 7 août 2007 - 24 juil. 2007 à 14:26
fredsor Messages postés 198 Date d'inscription lundi 24 avril 2006 Statut Membre Dernière intervention 3 avril 2008 - 24 juil. 2007 à 15:48
Bonjour,

J'ai développé une petite application mais le souci que j'ai, est que ma fenêtre principale ne s'adapte pas à la résolution de l'écran.
Sur certains écrans, elle est petite, et sur d'autres, elle dépasse l'écran.
Je sais que l'on peut récupérer la résolution grâce à: GetSystemMetrics(SM_CXSCREEN);Mais comment faire après?
J'ai créé ma boîte de dialogue grâce à l'éditeur de ressources de VISUAL STUDIO et grâce à la ligne:

hDlg=CreateDialog(hInstance,(LPCTSTR)IDD_DIALOG1,NULL,(DLGPROC)MainProc);
ShowWindow(hDlg,SW_SHOW);

Merci d'avance...

5 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
24 juil. 2007 à 14:31
SetWindowPos()

ciao...
BruNews, MVP VC++
0
tarretg Messages postés 22 Date d'inscription lundi 18 juin 2007 Statut Membre Dernière intervention 7 août 2007
24 juil. 2007 à 15:11
OK BruNews, merci.
J'avais déjà essayé avec cette fonction.
Ma fenêtre se dimensionne bien en fonction des paramètres.
Mais les éléments à l'intérieurs ne se redimensionnent pas en fonction de cela.
Et je me retrouve avec des controls en dehors de l'écran...
0
fredsor Messages postés 198 Date d'inscription lundi 24 avril 2006 Statut Membre Dernière intervention 3 avril 2008
24 juil. 2007 à 15:34
Tu mets dans une variable la largeur de ta fenetre principale que tu donne a SetWindowPos
Et pour tout tes controles, tu joue avec cette variable , en positionnant en fonction d'elle( SetWindowPos(NULL, variable/2 +5...) etc...
Dans un ancien projet javais fais comme ca...
Bon ya peut etre plus propre, mais ca marchait!
0
tarretg Messages postés 22 Date d'inscription lundi 18 juin 2007 Statut Membre Dernière intervention 7 août 2007
24 juil. 2007 à 15:40
Donc, cela veut dire que je ne peux pas utiliser l'éditeur de ressources pour glisser/déposer mes différents controles où je veux dans ma Dialog Box?

Je suis obligé de les créer un par un "à la main" en précisant leurs tailles et leurs positions...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
fredsor Messages postés 198 Date d'inscription lundi 24 avril 2006 Statut Membre Dernière intervention 3 avril 2008
24 juil. 2007 à 15:48
Dans mes souvenirs, moi je les avais bien créés avec l'editeur de ressources.
Mais à partir du moment où tu commences a bidouiller avec SetWindowPos(), alors mettre un editbox au centre de ta fenetre ou a droite ne devrait pas changer grand chose si tu lui induqe dans le SetWindowPos() que tu le veux a gauche...
A toi de voir quelle solution te semble la meilleure. Par exemple, moi j'avais une fentre qui s'affichait comme je voulais, avec mes composants là où je les avais "déposé" avec l'editeur de ressources. Mais j'avais ensuite rajouter la fonctionnalité de passer la fenetre en mode "plein ecran", et donc mes composants ne suivaient pas, c'est pourquoi j'avais opté pour l'utilisation de SetWindowPos pour chaque controle, en fonction des dimensions de ma fenetres principales...
J'espere avoir été clair,
Bon code!
0
Rejoignez-nous