delphi – TForm.TipMode属性是什么?

前端之家收集整理的这篇文章主要介绍了delphi – TForm.TipMode属性是什么?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
什么是 TForm.TipMode的财产?

它已在Delphi XE3中添加,但文档中没有提及此属性.

解决方法

TTipMode在Controls.pas中定义,用于跟踪ITextInputPanel界面中TabTip.exe提供的文本输入面板的状态(打开或关闭).
procedure TWinControl.UpdateTIPStatus;
begin
  if Assigned(FTIPIntf) then
  begin
    if TipMode = tipOpen then SetTextInputPanelStatus(Self,True)
    else if TipMode = tipClose then SetTextInputPanelStatus(Self,False);
  end;
end;

这是从此方法调用的SetTextInputPanelStatus过程:

procedure SetTextInputPanelStatus(Control: TWinControl; OpenTIP: Boolean);

  procedure InvokeTabTip;
  const
    DefaultTabTipPath = 'C:\Program Files\Common Files\microsoft shared\ink\TabTip.exe';
    DefaultOnScreenKeyboardPath = 'C:\Windows\System32\OSK.exe';
  var
    TabTipPath: string;
  begin
    TabTipPath := DefaultTabTipPath;
    ShellExecute(0,'open',PChar(TabTipPath),nil,SW_SHOWNOACTIVATE);
  end;

  procedure OPenTip2;
  begin
    (Control.FTIPIntf as ITextInputPanel).SetInPlaceVisibility(1); // True
  end;

  procedure CloseTip;
  begin
    (Control.FTIPIntf as ITextInputPanel).SetInPlaceVisibility(0); // False
  end;

begin
  if Assigned(Control.FTIPIntf) then
  begin
    if OpenTIP then OpenTip2 // InvokeTabTip
    else CloseTip;
  end;
end;

这表明如果最终参数(OpenTip)为True,它将使用命令行打开文本输入面板(在OpenTip中完成).如果参数为False,则关闭该窗口.您可以通过在DefaultTabTipPath指定的位置执行应用程序来查看文本输入窗口.

(请注意,上面包含的包含该常量的InvokeTabTip的代码永远不会被执行;对它的调用被注释掉了.感谢@SertacAkyuz指出这一点.我已编辑过包含该信息.)

猜你在找的Delphi相关文章