【发布时间】:2013-06-10 20:39:58
【问题描述】:
我在TJvToolBar 上有一个TToolButton,它与打开串行端口的操作相关联。我在操作的OnExecute() 事件中有此代码:
procedure TfrmMainForm.acInstrumentConnectedExecute(Sender: TObject);
begin
if acInstrumentConnected.Checked then
if MessageDlg('Are you sure you wish to disconnect?', mtWarning, [mbYes, mbNo], 0,
mbNo) <> mrYes then
exit;
acInstrumentConnected.Checked := not acInstrumentConnected.Checked;
// actual code to connect/disconnect follows...
end;
如您所见,如果用户希望断开与端口的连接,我会在消息框后更改操作的Checked,但在进入此事件之前工具按钮的Down 属性会更改。即使用户选择 No 以响应提示,这也会导致出现 Up 按钮。为什么 ToolButton 会这样?
【问题讨论】:
-
按钮
tbsButton或tbsCheck是什么风格? -
@DavidHeffernan tbsButton
-
我认为
tbsCheck会让你更幸运。 -
@DavidHeffernan 我对 TToolButton 的不同风格没有经验。是否使用 tbsCheck 执行操作?
-
是的。对于这种类型的按钮,我一直使用
tbsCheck工具按钮,它使用Down状态向用户提供视觉反馈。
标签: delphi delphi-xe2