- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当我因工作需要购买 delphi 时,我看到的一大卖点是它支持平板电脑的能力。现在我工作的公司的客户想要使用平板电脑。我一直在努力寻找 delphi 与平板电脑的示例,但我没有找到。有人有这方面的经验吗?有任何类型的教程或示例吗?
我似乎甚至无法在组件获得焦点时带上虚拟键盘并在失去焦点时隐藏它。
最佳答案
Delphi 2010 为 Delphi 引入了一些不错的触摸和手势支持。
要获取更多信息,请访问 EDN网站并查找 CodeRage 4 重播。 Seppy Bloom 举办了一场题为“VCL 中的手势”的 session 。 CodeRage 5 中还有一个题为“新应用程序和当前项目的手势功能”的 session ,作者为 Vesvolod Leonov。
Marco Cantu 的“Delphi 2010 手册”第 6 章还介绍了 Delphi 中的触摸和手势。
最终,您可以查看Chris Bensen's weblog有关 Delphi 中触摸和手势支持的一些介绍性文章和演示源代码。
I don't seem to be able even to bring a virtual keyboard when a component gain focus and hide it when it loses it.
在 Delphi 2010 及更新版本中,支持触摸的 keyboard component已经可用。要使其在焦点更改时可见或隐藏,您可以处理 CM_FOCUSCHANGED VCL消息,当获得焦点的控件来自某个类或满足某些特殊条件时,使键盘可见。这是示例代码:
type
TForm1 = class(TForm)
Edit1: TEdit;
Button1: TButton;
Memo1: TMemo;
TouchKeyboard1: TTouchKeyboard;
private
procedure ActivateVirtualKeyboard(Control: TWinControl; Keyboard: TTouchKeyboard);
procedure CmFocusChanged(var Msg: TCMFocusChanged); message CM_FOCUSCHANGED;
public
{ Public declarations }
end;
/// Implementation
procedure TForm1.ActivateVirtualKeyboard(Control: TWinControl; Keyboard: TTouchKeyboard);
var
APoint : TPoint;
begin
if Control is TCustomEdit then
begin
APoint := Control.ClientToScreen(Point(0,0));
APoint := Keyboard.Parent.ScreenToClient(APoint);
Keyboard.Left := APoint.X;
Keyboard.Top := APoint.Y + (Control.Height);
Keyboard.Visible := True;
end
else
Keyboard.Visible := False;
end;
procedure TForm1.CmFocusChanged(var Msg: TCMFocusChanged);
begin
ActivateVirtualKeyboard(Msg.Sender, TouchKeyboard1);
end;
每次焦点更改时,上面的代码都会调用ActivateVirtualKeyboard。 Msg.Sender 是获得焦点的控件。 ActivateVirtualKeyboard 检查该控件是否是 TCustomEdit 后代(如 TEdit 或 TMemo 之类的组件源自此类)。如果该控件派生自 TCustomEdit,则它将虚拟键盘放置在该控件的正下方,并使键盘可见;否则,它会隐藏键盘。
在示例代码中,我们在 Form1 上有一个编辑、一个备忘录和一个按钮。键盘对于 Edit1 和 Memo1 应该可见,而当 Button1 获得焦点时键盘应该隐藏。
屏幕上键盘位置的计算并不那么聪明,如果具有焦点的控件非常接近窗体的底部边缘,键盘可能会太向下。无论如何,在屏幕上定位控件超出了您的问题范围。
关于Delphi 2010 平板电脑支持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4303115/
我正在尝试从 Linux 远程登录到 Windows PC,但显示错误“登录失败”。 这是我的 Python 脚本。我正在使用 pexpect 模块。我也尝试过使用 telnetlib 但同样的错误:
大多人在windows平台用的tomcat都是免安装版本的,很自然想到复制几份目录,就是在同一个电脑上跑多个tomcat服务了。实际上是不可以的。经过如下方法就可以实现统一台服务器(电脑)上运行多个
正负号是一个不常用的符号,很多小伙伴不知道怎么打出来,打出来确实有点麻烦,很多小伙伴不知道怎么弄,今天小编就给大家带来了轻松便捷的方法吧。 正负号怎么打出来 方法1、“&plu
在一项作业中,我被要求创建一个 [7] x [7] 矩阵,以及一个与计算机对战的井字棋游戏。玩家是 X,计算机是 O。[1][1] 是选择 1,[1][3] 是选择 2,[1][5] 是选择 3,[3
我想知道如何开发应用程序/服务器。我的安卓手机会在我说话时录制我的声音,并将其发送到 PC,然后使用 PC 的扬声器播放。 我想我需要一个在计算机上运行的媒体服务器来接收我的声音,然后使用手机上已有的
我正在开发一个使用蓝牙玩的安卓游戏应用程序。在搜索蓝牙设备时,结果包含移动设备和 mac pc/笔记本电脑。我只想在结果列表中列出移动设备。是否可以确定检测到的设备是否为移动设备? 最佳答案 当你有
在学习 Meteor 框架的过程中,我正在将 Yik Yak 移动应用程序重新创建为 Web 应用程序。但该应用程序是完全匿名的,没有用户帐户,但您仍然只能对帖子投赞成票或反对票一次。如何做到这一点?
我花了一些时间寻找解决方案。我已经使用 MacPorts 在我的 mac 上重新安装了 Vim 好几次。 vim --version 命令显示 +clipboard 和 +xterm_clipboar
我是一名优秀的程序员,十分优秀!