1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
void __fastcall TIdentification::FormCreate(TObject *Sender)
{
//Caractéristiques de l'Ecran de référence avec lequel a été conçue la fiche
int EcranReferLargeur=1024;
int EcranReferHauteur=664;
//Récupération des caractéristiques de l'écran sur lequel tourne l'application
//Nota: en l'espèce, 1920x981
int EcranActuelLargeur=Screen->Width;
int EcranActuelHauteur=Screen->Height;
//Détermination des nouvelles caractéristiques Hauteur/Largeur de la Fiche
int NelleHauteur=Identification->Height*EcranActuelHauteur/EcranReferHauteur;
int NelleLargeur=Identification->Width*EcranActuelLargeur/EcranReferLargeur;
//290: Nombre magique empirique (valable uniquement pour 1920x981) sinon la largeur est trop grande !!!
NelleLargeur=NelleLargeur-290;
//Centrage Fiche
Identification->Left=(EcranActuelHauteur-NelleHauteur)/2;
Identification->Top=(EcranActuelLargeur-NelleLargeur)/2;
//Application des nouvelles caractéristiques Hauteur/Largeur de la Fiche
Identification->Width=NelleLargeur;
Identification->Height=NelleHauteur;
//Détermination du facteur d'agrandissement
int FacteurAgr=((EcranActuelLargeur*EcranActuelHauteur)-(EcranReferLargeur*EcranReferHauteur))*100/(EcranReferLargeur*EcranReferHauteur);
//29: Encore un nombre magique empirique... En l'espèce pour ramener FacteurAgr de 177 à 150 sinon l'intérieur du form est trop grand par rapport au Form !
int m=FacteurAgr-29;
int d=100;
Identification->ScaleBy(m,d);
Identification->Realign();
} |
Partager