仿Microsoft屏幕键盘VB6例程详解.DOC

上传人:天*** 文档编号:3613195 上传时间:2019-06-25 格式:DOC 页数:16 大小:296.50KB
下载 相关 举报
仿Microsoft屏幕键盘VB6例程详解.DOC_第1页
第1页 / 共16页
仿Microsoft屏幕键盘VB6例程详解.DOC_第2页
第2页 / 共16页
仿Microsoft屏幕键盘VB6例程详解.DOC_第3页
第3页 / 共16页
仿Microsoft屏幕键盘VB6例程详解.DOC_第4页
第4页 / 共16页
仿Microsoft屏幕键盘VB6例程详解.DOC_第5页
第5页 / 共16页
点击查看更多>>
资源描述

1、仿 Microsoft 屏幕键盘VB6 例程详解一、界面设计准备:制作屏幕键盘图标、手形、双手拇指、左小指、左无名指、左中指、左食指、左拇指、右拇指、右食指、右中指、右无名指、右小指等图标共 13 个。 (原作者提供)控件:窗体 Form :Name(名称 ) “ScreenKeyboard”,BackColor(背景色 )&H00A85E33&,BorderStyle(边框样式)1- 固定单边,Caption(标题) “仿 Microsoft 屏幕键盘” ,ControlBox( 控制按钮 ) True,Height(高)3120 缇,Icon( 图标)“屏幕键盘图标” ,MaxButton

2、( 最大化按钮)False,MinButton(最小化按钮)True,MousePointer(指针类型)15-尺寸全部,ScaleMode(度量单位)4-字符,StartUpPosition(窗体位置 )3-缺省,Width(宽)11130 缇,WindowState(窗口状态)0-默认。按钮 CommandButton :按钮数组,Name(名称)“SKB” ,BackColor(背景色)白,Height(高)1.7 字符,MousePointer( 指针类型)99-自定义,Style(样式)1-图形,Width(宽)4 字符。复制成 80 个。按钮数组,Name(名称)“小键盘” ,Ba

3、ckColor(背景色)白,Height( 高)1.7 字符,MousePointer(指针类型)99-自定义,Style(样式)1-图形,Width(宽)4 字符。复制成 11 个。将前 80 个改为如下按钮:标题Caption 高 标识左Left 鼠标图标提示文字ToolTipText顶Top 宽取消 27 0 左小指 Escape 0F1 112 8 左无名指 Function1 0F2 113 12 左中指 Function2 0F3 114 16 左食指 Function3 0F4 115 20 左食指 Function4 0F5 116 26 右食指 Function5 0F6 1

4、17 30 右中指 Function6 0F7 118 34 右无名指 Function7 0F8 119 38 右小指 Function8 0F9 120 44 右小指 Function9 0F10 121 48 右小指 Function10 0F11 122 52 右小指 Function11 0F12 123 56 右小指 Function12 0 192 0 左小指 Acuteaccent(重音符号)或Tilde(代字符号) 2.5! 49 4 左小指 1 或 Exclamationmark(感叹号) 2.5 50 8 左无名指 2 或 Commercialat(单价符号) 2.5#

5、51 12 左中指 3 或 Numbersign(号码符号) 2.5$ 52 16 左食指 4 或 Dollarsign(美元符号) 2.5% 53 20 左食指 5 或 Percentsign(百分号) 2.5标题Caption 高 标识左Left 鼠标图标提示文字ToolTipText顶Top 宽 54 24 右食指 6 或 Caret(脱字符号) 2.5& 55 28 右食指 7 或 Ampersand(与号) 2.5* 56 32 右中指 8 或 Asterisk(星号 ) 2.5( 57 36 右无名指 9 或 Leftparenthesis(左圆括号) 2.5) 48 40 右小指

6、 0 或 Rightparenthesis(右圆括号) 2.5_ 189 44 右小指 Hyphen(连字符号) 或Underscore(下划线 ) 2.5+ 187 48 右小指 Equalssign(等号)或 Plussign(加号) 2.5退格 8 52 右小指 BackSpace 2.5 8制表符 9 0 左小指 Tab 4.2 6Q 81 6 左小指 q 或 Q 4.2W 87 10 左无名指 w 或 W 4.2E 69 14 左中指 e 或 E 4.2R 82 18 左食指 r 或 R 4.2T 84 22 左食指 t 或 T 4.2Y 89 26 右食指 y 或 Y 4.2U 8

7、5 30 右食指 u 或 U 4.2I 73 34 右中指 i 或 I 4.2O 79 38 右无名指 o 或 O 4.2P 80 42 右小指 p 或 P 4.2 219 46 右小指 Leftsquarebracket(左方括号)或Leftcurlybrace(左花括号) 4.2 221 50 右小指 Rightsquarebracket(右方括号 )或Rightcurlybrace(或右花括号) 4.2| 220 54 右小指 Backslash(反斜杠 )或Verticalbar(竖杠) 4.2 6A 65 7 左小指 a 或 A 5.9S 83 11 左无名指 s 或 S 5.9D

8、68 15 左中指 d 或 D 5.9F 70 19 左食指 f 或 F 5.9G 71 23 左食指 g 或 G 5.9H 72 27 右食指 h 或 H 5.9J 74 31 右食指 j 或 J 5.9K 75 35 右中指 k 或 K 5.9L 76 39 右无名指 l 或 L 5.9:; 186 43 右小指 Semicolon(分号 )或Colon(冒号) 5.9“ 222 47 右小指 Apostrophe(撇号 )或Quotationmark(引号) 5.9标题Caption 高 标识左Left 鼠标图标提示文字ToolTipText顶Top 宽回车 13 51 右小指 Ente

9、r 5.9 9Z 90 9 左小指 z 或 Z 7.6X 88 13 左无名指 x 或 X 7.6C 67 17 左中指 c 或 C 7.6V 86 21 左食指 v 或 V 7.6B 66 25 左食指 b 或 B 7.6N 78 29 右食指 n 或 N 7.6M 77 33 右食指 m 或 M 7.6 190 41 右无名指 Period(句点)或Greaterthan(大于号) 7.6? 191 45 右小指 Solidus(斜线)或Questionmark(问号) 7.6空格 32 16 双手拇指 Space 9.3 23快照需求 44 62 右食指 PrintScreen(复制屏幕

10、 )或Systemrequirements(系统需求) 0暂停中止 19 70 右无名指 Pause 或 Break 0插入改写 45 62 右食指 Insert 或 Overwrite 2.5删除 46 62 右食指 Delete 4.2开头 36 66 右中指 Home 2.5末尾 35 66 右中指 End 4.2前页 33 70 右无名指 PageUp 2.5后页 34 70 右无名指 PageDown 4.2 37 62 右食指 LeftArrow 9.3 38 66 右中指 UpArrow 7.6 39 70 右无名指 RightArrow 9.3 40 66 右中指 DownAr

11、row 9.3+ 3.4 107 88 右小指 Plus 4.2- 109 88 右小指 Minus 2.5 106 84 右小指 IsMultipliedBy 2.5 111 80 右小指 IsDividedBy 2.5将后 11 个改为如下按钮:标题Caption标识Index左Left鼠标图标MouseIcon提示文字ToolTipText顶Top宽Width插 96 76 右拇指 0 或 Insert 9.3 8尾 97 76 右食指 1 或 End 7.6 98 80 右中指 2 或 7.6后 99 84 右无名指 3 或 PageDown 7.6标题Caption标识Index左L

12、eft鼠标图标MouseIcon提示文字ToolTipText顶Top宽Width 100 76 右食指 4 或 5.9 101 80 右中指 5 5.9 102 84 右无名指 6 或 5.9头 103 76 右食指 7 或 Home 4.2 104 80 右中指 8 或 4.2前 105 84 右无名指 9 或 PageUp 4.2删 110 84 右无名指 Period 或 Delete 9.3还有 13 个特殊的键需要设置如下属性:名称Name背景色16 进制标题Caption 高 标识 左鼠标图标指针样式提示文字ToolTipText顶Top 宽小回车 白 回车 3.4 88 右小指

13、 99 1 Enter 7.6 4数字锁 00FFE0 数字锁定 1.7 76 右食指 99 1 NumberLock 2.5 4大写锁 D9A16F 大写锁定 1.7 0 左中指 99 1 CapitalLock 5.9 7卷轴锁 D9A16F 卷轴锁定 1.7 66 右中指 99 1 ScrollLock 0 4换档 D9A16F 换档 1.7 160 0 左无名指 99 1 Shift 7.6 9换档 D9A16F 换档 1.7 161 49 右无名指 99 1 Shift 7.6 11控制 D9A16F 控制 1.7 162 0 左小指 99 1 Control 9.3 6控制 D9A

14、16F 控制 1.7 163 54 右小指 99 1 Control 9.3 6转换 D9A16F 转换 1.7 164 11 左拇指 99 1 Alter 9.3 5转换 D9A16F 转换 1.7 165 39 右拇指 99 1 Alter 9.3 5徽标 D9A16F 徽标 1.7 91 6 左食指 99 1 Windows 徽标 9.3 5徽标 D9A16F 徽标 1.7 92 44 右食指 99 1 Windows 徽标 9.3 5快捷菜单 D9A16F 快捷菜单 1.7 49 右中指 99 1 Pop-upMenu 9.3 5标签 Label:名称Name对齐自动大小背景样式标题C

15、aption前景色16 进制 高左Left顶Top 宽数字灯 2 True 0 00FFE0 0.75 77.5 0.2 1.5大写灯 2 True 0 D9A16F 0.75 83.25 0.2 1.5卷轴灯 2 True 0 D9A16F 0.75 89 0.2 1.5Label1 2 True 0 数字灯 白 0.75 76 0.95 4.5Label2 2 True 0 大写灯 白 0.75 81.75 0.95 4.5Label3 2 True 0 卷轴灯 白 0.75 87.5 0.95 4.5菜单:标题“快捷菜单” ,名称“MnuRight” ,可见 False。以下是四个菜单项

16、:标题“关于软件” ,名称“MnuAbout” ,可见 True;标题“版本信息” ,名称“MnuEdition” ,可见 True;标题“编程语言” ,名称“MnuProgramme” ,可见 True;标题“作者信息” ,名称“MnuAuthor” ,可见 True。二、源代码部分Option ExplicitRem 转移输入焦点的声明Private Declare Function GetWindowLong Lib “user32“ Alias “GetWindowLongA“ (ByVal hwnd As Long, ByVal nIndex As Long) As LongPriv

17、ate Declare Function SetWindowLong Lib “user32“ Alias “SetWindowLongA“ (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As LongRem 窗口置顶的声明Private Declare Function SetWindowPos Lib “user32“ (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal

18、cx As Long, ByVal cy As Long, ByVal wFlags As Long) As LongRem 移动没有标题栏窗体的声明Private Declare Function ReleaseCapture Lib “user32“ () As LongPrivate Declare Function SendMessage Lib “user32“ Alias “SendMessageA“ (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As LongRem 模拟

19、按键声明Private Declare Sub keybd_event Lib “user32“ (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)Rem 禁止本窗体拥有输入焦点的常数Private Const HWND_NOTOPMOST = -2Private Const WS_DISABLED = &H8000000Private Const GWL_EXSTYLE = (-20)Private Const GWL_STYLE = (-16)Rem 窗口置顶的

20、常数Private Const HWND_TOPMOST = -1Private Const SWP_NOACTIVATE = &H10Private Const SWP_NOMOVE = &H2Private Const SWP_NOSIZE = &H1Private Const SWP_SHOWWINDOW = &H40Rem 移动没有标题栏窗体的常数Private Const HTCAPTION = 2Private Const WM_NCLBUTTONDOWN = &HA1Rem 模拟按钮常数Private Const KEYEVENTF_KEYUP = &H2Rem 以下是程序执行主

21、体部分Rem 窗体调用时置顶,且禁止拥有输入焦点Private Sub Form_Load()Me.Show小写字母下档符号数字小键盘数字锁.SetFocusSKB(8).Caption = “退格“ & Chr(10) & “SetWindowPos Me.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOACTIVATE Or SWP_SHOWWINDOW Or SWP_NOMOVE Or SWP_NOSIZESetWindowLong Me.hwnd, GWL_EXSTYLE, GetWindowLong(Me.hwnd, GWL_EXSTYLE) Or WS_

22、DISABLEDEnd SubRem 鼠标移动到窗体上时,窗体置顶Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)SetWindowPos Me.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOACTIVATE Or SWP_SHOWWINDOW Or SWP_NOMOVE Or SWP_NOSIZEEnd SubRem 移动没有标题栏窗体,弹出快捷菜单Private Sub Form_MouseDown(Button As Intege

23、r, Shift As Integer, X As Single, Y As Single)ReleaseCaptureSendMessage hwnd, WM_NCLBUTTONDOWN, HTCAPTION, 0&If Button = 2 ThenPopupMenu MnuRight, 2, , , MnuAboutEnd IfEnd SubRem 窗体重现时,设置其位置在屏幕中下方且置顶Private Sub Form_Paint()SetWindowPos Me.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOACTIVATE Or SWP_SHOWWIN

24、DOW Or SWP_NOMOVE Or SWP_NOSIZEMe.Left = Screen.Width / 2 - Me.Width / 2Me.Top = Screen.Height - Me.Height - 450End SubRem 防止执行多次Private Sub Form_Initialize()If App.PrevInstance Then EndEnd SubRem 弹出式快捷菜单项Private Sub MnuAbout_Click()MsgBox “1气球提示:鼠标指针指向某个键,停留片该,将会显示该键的英文全称或中文全称。“ _& Chr(10) & “2指法提示

25、:鼠标指针的形状在每个键上都根据相应指法发生变化。“ _& Chr(10) & “3高亮提示:按下某个键时,该键会变得高亮;如果按下的是开关键,相应的指示灯也会变得高亮。“ _& Chr(10) & “4换档提示:当按下 Caps Lock 、Shift 、Num Lock 键时,相应的,大写字母、上档符号、小键盘数字会突出显示;“ _& “反之, 当弹起 Caps Lock 、Shift 、Num Lock 键时,相应的,小写字母、下档符号、小键盘光标键会突出显示。“ _& Chr(10) & “5随手移动:在键盘背景处用鼠标拖动,可移动键盘。“, , “关于仿 Microsoft 屏幕键盘

26、“End SubPrivate Sub MnuAuthor_Click()MsgBox “作者:盛华“ _& Chr(10) & “昵称:周星骋“ _& Chr(10) & “:249498337“ _& Chr(10) & “邮箱:ShengH“ _& Chr(10) & “地址:陕西省安康市白河县教体局招生办“, , “作者信息“End SubPrivate Sub MnuProgramme_Click()MsgBox “Microsoft(C) Visual Basic(R) 6.0“, , “编程语言 “End SubPrivate Sub MnuEdition_Click()MsgB

27、ox “仿 Microsoft 屏幕键盘“ & Chr(10) & “版本:1.0.5.0“ & Chr(10) & “2007 年 7 月 7 日 7 时 7 分 7秒“, , “版本信息“End SubRem 用控件数组向外部窗口发送按键信息Private Sub SKB_Click(Index As Integer)keybd_event Index, 0, 0, 0keybd_event Index, 0, KEYEVENTF_KEYUP, 0End SubRem 获得焦点键高亮Private Sub SKB_GotFocus(Index As Integer)SKB(Index).B

28、ackColor = &HFFE0&End SubPrivate Sub SKB_LostFocus(Index As Integer)SKB(Index).BackColor = vbWhiteEnd SubRem 三个控制键盘灯的键Private Sub 大写锁_Click()If 大写锁.BackColor = &HD9A16F Then大写锁.BackColor = &HFFE0&大写灯.ForeColor = &HFFE0&keybd_event 20, 0, 0, 0keybd_event 20, 0, KEYEVENTF_KEYUP, 0If 换档(160).BackColor

29、= &HFFE0& Or 换档(161).BackColor = &HFFE0& Then小写字母Else大写字母End IfElse大写锁.BackColor = &HD9A16F大写灯.ForeColor = &HD9A16Fkeybd_event 20, 0, 0, 0keybd_event 20, 0, KEYEVENTF_KEYUP, 0If 换档(160).BackColor = &HFFE0& Or 换档(161).BackColor = &HFFE0& Then大写字母Else小写字母End IfEnd IfEnd SubPrivate Sub 数字锁_Click()If 数字

30、锁.BackColor = &HD9A16F Then数字锁.BackColor = &HFFE0&数字灯.ForeColor = &HFFE0&keybd_event 144, 0, 0, 0keybd_event 144, 0, KEYEVENTF_KEYUP, 0If 换档(160).BackColor = &HFFE0& Or 换档(161).BackColor = &HFFE0& Then光标小键盘Else数字小键盘End IfElse数字锁.BackColor = &HD9A16F数字灯.ForeColor = &HD9A16Fkeybd_event 144, 0, 0, 0key

31、bd_event 144, 0, KEYEVENTF_KEYUP, 0光标小键盘End IfEnd SubPrivate Sub 卷轴锁_Click()If 卷轴锁.BackColor = &HD9A16F Then卷轴锁.BackColor = &HFFE0&卷轴灯.ForeColor = &HFFE0&keybd_event 145, 0, 0, 0keybd_event 145, 0, KEYEVENTF_KEYUP, 0Else卷轴锁.BackColor = &HD9A16F卷轴灯.ForeColor = &HD9A16Fkeybd_event 145, 0, 0, 0keybd_ev

32、ent 145, 0, KEYEVENTF_KEYUP, 0End IfEnd SubRem 四组成对的特殊键Private Sub 控制_Click(Index As Integer)If 控制(Index).BackColor = &HD9A16F Then控制(Index).BackColor = &HFFE0&keybd_event Index, 0, 0, 0Else控制(Index).BackColor = &HD9A16Fkeybd_event Index, 0, KEYEVENTF_KEYUP, 0End IfEnd SubPrivate Sub 转换_Click(Index

33、As Integer)If 转换(Index).BackColor = &HD9A16F Then转换(Index).BackColor = &HFFE0&keybd_event Index, 0, 0, 0Else转换(Index).BackColor = &HD9A16Fkeybd_event Index, 0, KEYEVENTF_KEYUP, 0End IfEnd SubPrivate Sub 徽标_Click(Index As Integer)If 徽标(Index).BackColor = &HD9A16F Then徽标(Index).BackColor = &HFFE0&keyb

34、d_event Index, 0, 0, 0Else徽标(Index).BackColor = &HD9A16Fkeybd_event Index, 0, KEYEVENTF_KEYUP, 0End IfEnd SubPrivate Sub 换档_Click(Index As Integer)If 换档(Index).BackColor = &HD9A16F Then换档(Index).BackColor = &HFFE0&keybd_event Index, 0, 0, 0上档符号If 大写灯.ForeColor = &HFFE0& Then小写字母Else大写字母End If光标小键盘El

35、se换档(Index).BackColor = &HD9A16Fkeybd_event Index, 0, KEYEVENTF_KEYUP, 0下档符号If 大写灯.ForeColor = &HFFE0& Then大写字母Else小写字母End IfIf 数字灯.ForeColor = &HFFE0& Then数字小键盘Else光标小键盘End IfEnd IfEnd SubRem 弹出式快捷菜单键Private Sub 快捷菜单_Click()keybd_event 93, 0, 0, 0keybd_event 93, 0, KEYEVENTF_KEYUP, 0End SubPrivate Sub 快捷菜单_GotFocus()快捷菜单.BackColor = &HFFE0&End SubPrivate Sub 快捷菜单_LostFocus()快捷菜单.BackColor = &HD9A16FEnd SubRem 小键盘回车Private Sub 小回车_Click()keybd_event 13, 0, 0, 0keybd_event 13, 0, KEYEVENTF_KEYUP, 0End SubPrivate Sub 小回车_GotFocus()小回车.BackColor = &HFFE0&

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 重点行业资料库 > 1

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。