Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Как сделать кнопку с фиксацией


Автор: Dias2004 20.2.2006, 08:41
Не нашел готовый компонент "кнопка с фиксацией".
Это фактически check-box, но выглядеть он должен как кнопка. У кнопки два состояния - нажата и отжата.

Просветите пожалуйста новичка - есть ли такой готовый компонент?

Автор: Snowy 20.2.2006, 10:03
TSpeedButton.

Автор: Guedda 20.2.2006, 10:27
Можешь сделать так:
Код

var
  ChkBx : TCheckBox;
...

procedure TForm1.FormCreate(Sender: TObject);
begin
  ChkBx := TCheckBox.Create(Button1);
  ChkBx.Parent := Button1;
  ChkBx.Top := (Button1.Height div 2) - (ChkBx.Height div 2);
  ChkBx.Left := 19;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  ChkBx.Checked := not ChkBx.Checked;
end;

Автор: Snowy 20.2.2006, 11:00
Зачем такие трудности?
Просто кидаем на форму TSpeedButton.
Выставляем ему св-ва AllowAllUp в true и GroupIndex в -1.
И все.

Автор: Dias2004 21.2.2006, 08:39
Вот оно - ключевое слово - AllowAllUp!
А то без него одиночная кнопка не хотела отжиматься.

А вот GroupIndex может быть любым, отличным от нуля.

Спасибо всем, проблема решена. smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)