如何避免单击时在TToggleSwitch
控件的标题上显示短划线?
我在单击事件之后尝试了ActiveControl := nil;
,但是单击它时仍会显示选择片刻。
最佳答案
您可以将插入程序声明与WM_QUERYUISTATE的消息处理程序一起使用,如下所示:
unit Unit1;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.WinXCtrls;
type
TToggleSwitch = class(Vcl.WinXCtrls.TToggleSwitch)
private
procedure WMQueryUIState(var Msg: TMessage); message WM_QUERYUISTATE;
end;
TForm1 = class(TForm)
ToggleSwitch1: TToggleSwitch;
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
{ TToggleSwitch }
procedure TToggleSwitch.WMQueryUIState(var Msg: TMessage);
begin
Msg.Result := UISF_HIDEFOCUS;
end;
end.
可惜没有它的财产。