Bonjour,

je souhaite créer un bouton On/Off qui lance un petit dessin, ou en arrête l'exécution.
Avant de continuer plus loin, j'ai voulu tester le principe suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
procedure TForm1.Button1Click(Sender: TObject);
var
   x,y : integer;
begin
  if button1.Caption='Go !!!' then Button1.Caption:='Stop...' else button1.Caption:='Go !!!';
  button1.Repaint;
  while button1.Caption='Stop...' do
  begin
    x:=round(random*PaintBox1.canvas.width)+1;
    y:=round(random*PaintBox1.canvas.height)+1;   
    paintbox1.Canvas.moveto(x,y);
    paintbox1.canvas.lineto(x+1,y+1);
  end;
end;
Le Repaint me permet de mettre à jour le caption, qui sinon ne change pas, mais malgré cela, le clic sur le bouton Stop ne stoppe rien et le programme continue de placer des points sans réagir au clic.

Quelle méthode faudrait-il utiliser ?

Et, autre question : suis-je obligé de placer un moveto, lineto, ou existe-t-il un moyen de placer un point, genre putpixel de turbopascal ?

Merci.

Seb.