J'aimerai savoir comment faire pour que tous mes composants se modifient pour suivre la résolution de l'écran.
J'aimerai savoir comment faire pour que tous mes composants se modifient pour suivre la résolution de l'écran.
bonjour,
j'ai utilisé la méthode suivant
calcul des coefficients horizontal et vertical :
DefV et DefH sont les définitions de dévoppement par exemple :
int DefV = 800 et int DefH = 1200
Ensuite on transforme la taille de tous les composants de la fiche :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 float CoeffV = (float)(Screen->Height)/DefV; float CoeffH = (float)(Screen->Width)/DefH;
Il existe certainement une solution plus simple ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 TComponent *Temp; for(int i = 0; i < this->ComponentCount; i++) { Temp = this->Components[i]; if (dynamic_cast<TControl *>(Temp) != NULL) { dynamic_cast<TControl *>(Temp)->Top *= CoeffV; dynamic_cast<TControl *>(Temp)->Left *= CoeffH; dynamic_cast<TControl *>(Temp)->Width *= CoeffH; dynamic_cast<TControl *>(Temp)->Height *= CoeffV; if(dynamic_cast<TLabel *>(Temp) != NULL) { dynamic_cast<TLabel *>(Temp)->Font->Size *= CoeffH; } } }
Partager