Zaznaczanie Buttona

D8
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 41
0

Siema!
Jak zrobić taki efekt:

Po pojedyńczym kliknięciu na button1, ów Button będzie wyglądał
tak jak by był wciśnięty, a po następnym kliknięciu, będzie wyglądał normalnie.

Jeżeli nadal nie rozumiecie, to wstawcie sobie na formę panel, właściwość onclick zamieńcie na taką:

Kopiuj
if Panel1.BorderStyle = bsNone then
Panel1.BorderStyle := bsSingle else
if Panel1.BorderStyle = bsSingle then
Panel1.BorderStyle := bsNone;

i sprawdźcie działanie.
w tym przykładzie Panel ma za zadanie udawać Button (bsSingle to przycisk wciśnięty) taki jak ja chcę, ale nie chcę panela, tylko Button (ma robić to samo)
Chodzi mi o praktycznie identyczny efekt, ale na Buttonie.

Dziękuję.

Ktos
  • Rejestracja: dni
  • Ostatnio: dni
0

TSpeedButton i taki kod w OnClick: SpeedButton1.Down := not SpeedButton1.Down;

D8
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 41
0

dzięki "ktosiu" ;p
tylko troche nie wiedze efektu :-(

Japcok
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 699
0

Ustaw AllowAllUp na true;
i to wystarczy

the.riddle
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 191
0

to z tym zaznaczaniem speedbuttona dziala ale musisz miec przyn. 2 i ustawic GroupIndex na np.: 1

wtedy jak klikasz jeden to ci wskakuje ten a wyskakuje tamten.

jesli nie chcesz w ten sposob... to mozesz kodowo napisac:

procedure Speedbutton1.Click(cos tam cos tam);
begin
if Down then
begin
Down := False;
end else
Down := True;
end;
end;

powinno dzialac... nie sprawdzalem u siebie

cimak
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1668
0

nie trzeba mieć dwóch!
Tnz nie pamiętam czy miałem 2 i jeden wywaliłem, ale teraz mam jeden i działa jak należy !

DR
  • Rejestracja: dni
  • Ostatnio: dni
0

Sprawdziłem...

AllowAllUp:=true;
GroupIndex ma być większe od 0.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.