Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - TSpeedButton 1. Klick Down 2. Klick Up?


JRegier - Mo 20.06.05 09:22
Titel: TSpeedButton 1. Klick Down 2. Klick Up?
Hallo, ich habe ein Problem, ich habe 2 SpeedButtons ich will dass beim Klick
auf 1. Button er Down ist wenn ich auf den Zweiten klicke beide Up, soweit ist OK!

Jetzt wollte ich dass beim wiederholten Klick auf 1.Btn der wieder Up ist aber
er lässt sich nicht anklicken!

Hier der Code:


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:
procedure TWhereManager.NewGroupBtnMouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
   if(NewGroupBtn.Down)then
   begin
   NewGroupBtn.GroupIndex := 0;
   CloseGroupBtn.GroupIndex := 0;
   // NewGroupBtn.Down := False;   // dies habe ich auch in MouseUp versucht mit abfrage ob GroupIndex = 0
   end
   else
   begin
   NewGroupBtn.GroupIndex := 1;
   CloseGroupBtn.GroupIndex := 1;
   end;
end;

procedure TWhereManager.CloseGroupBtnMouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
   CloseGroupBtn.Down := True;
   NewGroupBtn.GroupIndex := 0;
   CloseGroupBtn.GroupIndex := 0;
   NewGroupBtn.Down := False;
   CloseGroupBtn.Down := False;
end;


kann mir jemand helfen? Wäre nett! :wink:


Lannes - Mo 20.06.05 10:41

Hallo,

das funktioniert, aber nur in onClick:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
procedure TForm1.NewGroupBtnClick(Sender: TObject);
begin
  if(NewGroupBtn.Down)then
    NewGroupBtn.AllowAllUp := True
    else
      NewGroupBtn.AllowAllUp := False;
end;

procedure TForm1.CloseGroupBtnClick(Sender: TObject);
begin
  NewGroupBtn.AllowAllUp := True;
  CloseGroupBtn.Down := False;
end;


JRegier - Mo 20.06.05 10:56

user profile iconLannes hat folgendes geschrieben:
Hallo,

das funktioniert, aber nur in onClick:


Vielen Dank! Partner! :wink:


JRegier - Mo 20.06.05 11:10

user profile iconJRegier hat folgendes geschrieben:
user profile iconLannes hat folgendes geschrieben:
Hallo,

das funktioniert, aber nur in onClick:


Vielen Dank! Partner! :wink:


Klappt noch nicht ganz richtig! Jetzt funktionierts mit 1.Button aber wenn ich den 2.Button Klicke bleibt er Down!

//EDIT

Jetzt klappt's!


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
begin
   NewGroupBtn.AllowAllUp := NewGroupBtn.Down
end;

procedure TWhereManager.CloseGroupBtnClick(Sender: TObject);
begin
   NewGroupBtn.AllowAllUp := True;
   NewGroupBtn.Down := False;
   CloseGroupBtn.Down := False;
end;
procedure TWhereManager.NewGroupBtnClick(Sender: TObject);