Bonsoir,
Voilà mon problème, je veux faire varier la propriété Left et Top de ma form principale et pour ce j'utilise plusieurs radiobutton qui lorsqu'on en selectionne un, celui-ci initialise deux variables (une définissant la hauteur de l'écran, l'autre sa largeur). Ma form doit se trouver en bas a droite de l'écran où elle est affichée et pour ce je procede de la maniere suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 var gauche: integer; haut: integer;Jusque là, aucun problème. Ca se complique lors de l'affichage de la form, le programme ignore la valeur gauche : Au niveau de la propriété Top, aucun soucis mais rien ne bouge coté Left .
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 procedure TForm3.RadioButton2Click(Sender: TObject); begin gauche:= 1024; //pour un écran de résolution 1024*768 haut:= 768; if radiobutton1.Checked then form1.Left:=gauche-(form1.Width+1); form1.Top:=haut-90; end;
PS : j'ai 9 radiobutton qui utilisent chacuns une valeur differente de gauche et haut .
Quelqu'un aurait il une idée à propos de ce bug ?
[Edit]
J'ai trouvé une autre méthode, pour ceux qui sont interessés :
Je cré trois variables:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 var HH :HDC; largeur:integer; hauteur:integer;Plus qu'à se servir des variables
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 HH:=getdc(GetDesktopWindow); //obtien la surface du bureau (écran - barre des taches) largeur:=GetDeviceCaps(HH,HORZRES); // la largeur, hauteur:=GetDeviceCaps(HH,VERTRES);// la hauteur
[/Edit]
Partager