以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  平板电脑小键盘问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=161850)

--  作者:ycs5801
--  发布时间:2021/3/31 22:46:00
--  平板电脑小键盘问题

 全局代码

 

Public Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Integer, ByVal dwExtraInfo As Integer)
Public Declare Function MapVirtualKey Lib "user32" Alias "MapVirtualKeyA" (ByVal wCode As Integer, ByVal wMapType As Integer) As Integer

Public Const VK_NUMLOCK = &H90 \' Num Lock

Public Const KEYEVENTF_KEYDOWN = &H0 \' KeyDown

Public Const KEYEVENTF_KEYUP = &H2 \' KeyUp

 

 触发代码

 

Dim intScanCode As Integer = MapVirtualKey(VK_NUMLOCK, 0)

keybd_event(VK_NUMLOCK, intScanCode, KEYEVENTF_KEYDOWN, 0) \' 按下

keybd_event(VK_NUMLOCK, intScanCode, KEYEVENTF_KEYUP, 0) \' 放


想在win10平板上调用小键盘输入,在论坛上找到以上代码,这个触发代码是需要放在那里?比如是打开某窗口,就放在窗口的事件中吗?


--  作者:有点蓝
--  发布时间:2021/4/1 8:38:00
--  
窗口afterload事件。或者试试控件的enter事件
--  作者:ycs5801
--  发布时间:2021/4/1 9:03:00
--  
好的。老师。
--  作者:ycs5801
--  发布时间:2021/4/1 10:46:00
--  
刚试了,这两种方式都无法调出键盘。
--  作者:有点蓝
--  发布时间:2021/4/1 11:09:00
--  
试试这个:System.Diagnostics.Process.Start("C:\\Program Files\\Common Files\\microsoft shared\\ink\\TabTip.exe")
--  作者:ycs5801
--  发布时间:2021/4/1 11:17:00
--  
这个跳出一个很大的键盘,第一不好控制,第二不是全数字。能不能模拟安卓平板上那种小的数字键盘。
--  作者:有点蓝
--  发布时间:2021/4/1 11:23:00
--  
自己设计一个数字录入窗口吧,类似内置的计算器:http://www.foxtable.com/webhelp/topics/2737.htm
--  作者:ycs5801
--  发布时间:2021/4/1 23:06:00
--  
自己做了一个录入界面,以下是窗口click全局代码:

Forms("操作表").Controls(Forms("操作表").Text).Select()
Sendkeys.Send("{" & e.Sender.Name & "}")

现在数字都输入正常,但是我想输入小数点则出现错误,具体表现是输入小数点之后前边的字符就会消失。

--  作者:有点蓝
--  发布时间:2021/4/1 23:52:00
--  
数字和点不需要大括号,其它特殊符号再加大括号

Sendkeys.Send(e.Sender.Name)

--  作者:ycs5801
--  发布时间:2021/4/2
--  
再麻烦问下数值组合框的问题:

NumericComboBox

NumericComboBox表示数值输入框,专门用于输入数值。
可直接在数值输入框中输入数值,或利用上下微调按钮调整已经输入的数值,如果单击右边的下拉按钮,将出现一个计算器用于计算和输入数值:


能否实现在空白处单击,则自动调出计算器输入,而不用点击右边的下拉按钮,这样可以提高录入速度,不然每次都需要点击。