Registriert seit: 30. Aug 2009
7 Beiträge
|
Taster-Programm ---> brauche Hilfe!!
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.
|