Delphi TToolButton(tbsDropDown)-down属性工作不正常
我对Delphi XE4中的TToolButton有一些问题Delphi TToolButton(tbsDropDown)-down属性工作不正常,delphi,delphi-xe4,Delphi,Delphi Xe4,我对Delphi XE4中的TToolButton有一些问题 procedure TForm2.FormCreate(Sender: TObject); begin btn1.Style := tbsDropDown; btn1.DropDownMenu := pmCreateReport1; btn1.PopupMenu := pmCreateReport1; FDown := True; btn1.down := FDown; end; p
procedure TForm2.FormCreate(Sender: TObject);
begin
btn1.Style := tbsDropDown;
btn1.DropDownMenu := pmCreateReport1;
btn1.PopupMenu := pmCreateReport1;
FDown := True;
btn1.down := FDown;
end;
procedure TForm2.btn1Click(Sender: TObject);
begin
FDown := not FDown;
btn1.down := FDown;
end;
FormCreate之后,down属性设置为true并且可以工作,但是当我单击按钮时,down属性没有按预期工作。第二次点击按钮后,按钮应再次按下
调试器说属性设置为true,这是正确的,但我在表单上看不到它
当我使用一个没有样式TBSDR的简单TToolButton时,它会按预期工作
你有什么想法吗?解释道:
只有当Style
为tbsCheck
时,工具按钮才能保持关闭状态
您必须找到其他方法来实现所需的表示。使用
ActionList
,将自动检查属性设置为True
示例代码:
const
wm_tlbtnShowClosedClicked = WM_USER + 100;
TForm2 = class(TForm)
.....
private
procedure tlbtnShowClosedClicked(var Msg :TMessage); message wm_tlbtnShowClosedClicked;
end
procedure TForm2.tlbtnShowClosedClicked(var Msg: TMessage);
begin
btn1.Down := (btn1.Action as TAction).Checked;
end;