Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Mein Button sprengt den Rahmen :D


forcedbydelphi - Fr 29.10.10 19:04
Titel: Mein Button sprengt den Rahmen :D
Hi Leute,
bin ziemlich neu in der Delphi Welt, ich habe ein Programm geschrieben, wenn ich auf den Button klicke erscheint er irgentwo anders (Im Fenster)
So siehts aus:



Delphi-Quelltext
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:
36:
37:
38:
39:
40:
41:
42:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    BtFangmich: TButton;
    procedure FormCreate(Sender: TObject);
    procedure BtFangmichClick(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  ibreite, ihoehe: integer;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
    randomize;  //Zufallsgenerator starten

end;

procedure TForm1.BtFangmichClick(Sender: TObject);
begin
      ibreite := Form1.Width; //entnimmt automatisch die breite vom Fenster
      ihoehe  := Form1.Height; // entnimmt automatisch die Hoehe vom Fenster
      BtFangmich.Left := random(ibreite); //Zufallsposition des Buttons in der Breite
      BtFangmich.Top  := random(ihoehe);  //Zufallsposition des Buttons in der Hoehe
end;

end.



MEINE FRAGE:
wie kriege ich es hin, dass der eine Button nicht über die Kanten geht??

Moderiert von user profile iconGausi: Delphi-Tags hinzugefügt
Moderiert von user profile iconGausi: Topic aus Delphi Language (Object-Pascal) / CLX verschoben am Fr 29.10.2010 um 19:09


Gausi - Fr 29.10.10 19:09

Hallo und :welcome: in der Entwickler-Ecke,

Der Zufallsbereich muss passend kleiner sein, also Formbreite minus Buttonbreite

Delphi-Quelltext
1:
BtFangmich.Left := random(ibreite - BtFangmich.Width); //Zufallsposition des Buttons in der Breite                    


Bei der Höhe entsprechend auch. :)


forcedbydelphi - Fr 29.10.10 19:16

funktioniert, danke

gefällt mir hier :)


Delete - Fr 29.10.10 19:21

Nun ja, durch etwas Nachdenken, hätte man wohl auch selber drauf kommen können.