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;
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;
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 .
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;
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
Plus qu'à se servir des variables
[/Edit]