作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
TForm.TipMode
是什么?属性?
它已被添加到 Delphi XE3 中,但文档中没有提及此属性。
最佳答案
TTipMode
在 Controls.pas 中定义,用于跟踪位于 TabTip.exe
中的文本输入面板的状态(打开或关闭) ITextInputPanel
界面。
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, 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 - TForm.TipMode 属性有什么用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24875468/
TForm.TipMode是什么?属性? 它已被添加到 Delphi XE3 中,但文档中没有提及此属性。 最佳答案 TTipMode 在 Controls.pas 中定义,用于跟踪位于 TabTip
我是一名优秀的程序员,十分优秀!