gpt4 book ai didi

delphi - 在 Windows 的 Delphi 应用程序中检测触摸功能(平板电脑)的最佳实践是什么?

转载 作者:行者123 更新时间:2023-12-03 15:32:56 25 4
gpt4 key购买 nike

我的应用程序在台式电脑和/或平板电脑上运行。但对于后者,我发现我必须提供一个屏幕键盘 - 这对于提供的 TTouchKeyboard 来说并不难。我的问题是如何确定触摸是否可用?我找到了some sample code这使得 WinAPi 调用 GetSystemMetrics:

function GetTouchCapabilities : TTouchCapabilities;
var ADigitizer : integer;
begin
result := [];
// First check if the system is a TabletPC
if GetSystemMetrics(SM_TABLETPC) <> 0 then begin
include(result,tcTabletPC);
if CheckWin32Version(6,1) then begin // If Windows 7, then we can do additional tests on input type
ADigitizer := GetSystemMetrics(SM_DIGITIZER);
if ((ADigitizer and NID_INTEGRATED_TOUCH) <> 0) then include(result,tcIntTouch);
if ((ADigitizer and NID_EXTERNAL_TOUCH) <> 0) then include(result,tcExtTouch);
if ((ADigitizer and NID_INTEGRATED_PEN) <> 0) then include(result,tcIntPen);
if ((ADigitizer and NID_EXTERNAL_PEN) <> 0) then include(result,tcExtPen);
if ((ADigitizer and NID_MULTI_INPUT) <> 0) then include(result,tcMultiTouch);
if ((ADigitizer and NID_READY) <> 0) then include(result,tcReady);
end else begin
// If not Windows7 and TabletPC detected, we asume that it's ready
include(result,tcReady);
end;
end;
end;

还有Microsoft definition of a tablet PC here .

然后,我搜索了 RTL 和 Delphi 源代码,试图找到更直接地为我提供此信息的例程,其方式类似于 Delphi 如何包装操作系统版本信息,但我看不到任何例程(尽管它可能是我只是不知道要搜索什么!)。上述代码风格是检测触摸功能的最佳方法吗?或者我错过了一些更明显的东西?

最佳答案

据我所知,Delphi 不提供用于报告 Tablet PC 功能的包装器,因此您所显示的就是您需要在代码中使用的内容。

关于delphi - 在 Windows 的 Delphi 应用程序中检测触摸功能(平板电脑)的最佳实践是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16816516/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com