设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

求助调用和关闭外部屏幕软键盘程序的方法。

2012-12-19 01:02| 发布者: lymin| 查看: 7472| 评论: 9|原作者: lymin

摘要: 求助: 1、当Text2获得焦点时,自动打开软键盘,并可在Text2框内输入内容。 2、当Text2失去焦点时,自动关闭软件盘。 3、当窗体1关闭时,如果软键盘仍然为打开状态,则随着窗体1的关闭而同时关闭和退出。 见示 ...
求助:
1、当Text2获得焦点时,自动打开软键盘,并可在Text2框内输入内容。
2、当Text2失去焦点时,自动关闭软件盘。
3、当窗体1关闭时,如果软键盘仍然为打开状态,则随着窗体1的关闭而同时关闭和退出。

见示例未命名3.jpg

softboard.zip


太感谢了,完全是我所需要的效果。
发表评论

最新评论

引用 huangli0356 2012-12-17 15:47
沙发..正需要这方面的..希望高手可以帮忙解决.
引用 huangli0356 2012-12-17 16:14
获得焦点即可输入是可以解决的,
Call Shell(CurrentProject.Path & "\SoftBoard.exe", 1)
Me.Text2.SetFocus



关闭到目前为止我也还是在找的..
引用 huangli0356 2012-12-18 09:58
SoftBoard.rar (201.51 KB, 下载次数: 14)
引用 轻风 2012-12-18 10:30
这个感觉用API肯定可以搞定,可惜我不太懂。
要不就自己在ACCESS里搞个键盘得了,别用外部程序。
引用 t小宝 2012-12-18 11:02
用API的方法如下:
  1. Private Declare Function SetFocusAPI& Lib "user32" Alias "SetFocus" (ByVal hwnd As Long)
  2. Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
  3. Private Declare Function TerminateProcess Lib "kernel32" (ByVal hProcess As Long, ByVal uExitCode As Long) As Long

  4. Dim mpID As Long

  5. Private Sub Text2_GotFocus()
  6. On Error Resume Next
  7.     mpID = Shell(CurrentProject.Path & "\SoftBoard.exe", 1)
  8.     DoEvents
  9.     SetFocusAPI Me.hwnd
  10. End Sub

  11. Private Sub Text2_LostFocus()
  12.     Dim hP As Long
  13.     If mpID <> 0 Then
  14.         hP = OpenProcess(1&, -1&, mpID)
  15.         If TerminateProcess(hP, 1) <> 0 Then mpID = 0 '强制关闭程序
  16.     End If
  17. End Sub
复制代码
引用 轻风 2012-12-18 13:33
果然。学到了。
引用 LeeTien 2012-12-18 14:34
牛叉的功能
引用 lymin 2012-12-19 00:03
t小宝 发表于 2012-12-18 11:02
用API的方法如下:

太感谢了,完全是我所需要的效果。
引用 huangli0356 2012-12-19 09:30
学习了..不过最简单,最土的办法还是调用外部程序..呵呵.谢谢分享..

查看全部评论(9)

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-3-29 14:40 , Processed in 0.103248 second(s), 26 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

返回顶部