Einzelnen Beitrag anzeigen

KingMax

Registriert seit: 30. Aug 2009
7 Beiträge
 
#1

Taster-Programm ---> brauche Hilfe!!

  Alt 28. Okt 2009, 18:39
Guten Tag,
ich muss ein Programm programmieren, indem per Button-Klick jedemenge BitButtons auf der Form in zufälliger Position erscheinen. Jeder Dieser Button hat die Caption "Aus" und sollte, sobald man mit der maus draufklickt, auf "an" springen. Lässt man die Maustaste wieder los, wird es wieder "aus". Also nur "an" wenn die maus auf dem Button gedrückt ist. Dazu benutze ich 3 Units, deren Quelltext unten steht.

Ich bin jetzt soweit, dass die Buttons zufällig erstellt werden, jedoch nicht auf "Aus" wechseln, wenn ich darauf klicke. Ich vermute dass ich einen Button implementieren muss, der dafür sorgt dass dem so ist. Allerdings weis ich weder wo noch wie ich diesen einbinden soll.

MFG
Max

Delphi-Quellcode:
unit Panel3;

interface

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

type
  TForm1 = class(TForm)
    BtGruenPanel: TButton;
    procedure BtGruenPanelClick(Sender: TObject);
  private
    { Private-Deklarationen }


  public
    { Public-Deklarationen }
  end;


type
TBuntTaster = Class (TBuntPanel)
protected

procedure MouseDown (Button: TMouseButton; Shift: TShiftState; X,Y: Integer);override;
procedure MouseUp (Button: TMouseButton; Shift: TShiftState; X,Y: Integer);override;
end;


var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.BtGruenPanelClick(Sender: TObject);
var GruenPanel: TGruenPanel;BuntPanel:TBuntpanel;
begin
GruenPanel:=TGruenPanel.Create(Form1);
GruenPanel.Parent:=Form1;
GruenPanel.Left:=200;
GruenPanel.Height:=50;
BuntPanel:=TBuntPanel.Create(Form1);
BuntPanel.Parent:=Form1;
BuntPanel.BringToFront;
end;

procedure TBuntTaster.MouseDown (Button: TMouseButton; Shift: TShiftState; X,Y: Integer);
begin
BevelInner := bvLowered;
Caption := 'an';
inherited MouseDown (Button, Shift, X, Y);
end;

procedure TBuntTaster.MouseUp (Button: TMouseButton; Shift: TShiftState; X,Y: Integer);
begin
BevelInner := bvRaised;
Caption := 'aus';
inherited MouseUp (Button, Shift, X, Y);
end;



 end.
Delphi-Quellcode:
unit mTaster1;

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




implementation

end.
Delphi-Quellcode:
unit mPanelDemo;

interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls,ExtCtrls, Buttons;
type TGruenPanel = class (TBitBtn)

public
        constructor Create (AOwner:TComponent);virtual;
        end;


        type TBuntPanel = class (TBitBtn)
        public
        constructor Create (AOwner:TComponent);virtual;
        end;





implementation

constructor TGruenPanel.Create (AOwner:TComponent);
begin
        inherited Create (AOwner);
        Color:=clGreen;
        BorderWidth:=1;
        BevelOuter:=bvNone;
        BevelInner:=bvRaised;
        BevelWidth:=4;
end;

constructor TBuntPanel.Create (AOwner:TComponent);
begin
        inherited Create (AOwner);
        randomize;
        Color:=RGB(Random(256), Random(256), Random(256));
        BorderWidth:=1;
        BevelOuter:=bvNone;
        BevelInner:=bvRaised;
        BevelWidth:=4;
        left:=random(200);
        Width:=random(300);
        height:=random (200);
        top:=random(450);
        Caption := 'aus';
end;
end.
  Mit Zitat antworten Zitat