加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

delphi – TForm.TipMode属性是什么?

发布时间:2020-12-15 04:01:17 所属栏目:大数据 来源:网络整理
导读:什么是 TForm.TipMode 的财产? 它已在Delphi XE3中添加,但文档中没有提及此属性. 解决方法 TTipMode在Controls.pas中定义,用于跟踪ITextInputPanel界面中TabTip.exe提供的文本输入面板的状态(打开或关闭). procedure TWinControl.UpdateTIPStatus;begin if
什么是 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 FilesCommon Filesmicrosoft sharedinkTabTip.exe';
    DefaultOnScreenKeyboardPath = 'C:WindowsSystem32OSK.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指出这一点.我已编辑过包含该信息.)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读