1.VB如何开发一个五笔输入法
VB如何开发一个五笔输入法
很多人都想用VB语言来做一个输入法,笔源或想用VB做输入文字功能的码开鼠标点击输入法,如五笔输入法,源笔全拼输入法,输入lamp源码编译安装鼠标输入法,笔源本人就用VB做过这种输入法,码开现在开始教大家来做,源笔先申明,输入由于Visual Basic这个语言本身的笔源原因,它只能做外挂式的码开输入法,像万能五笔那种,源笔辽源码码通所以,输入VB可以用外挂的笔源五笔输入法软件 或者 做一个外挂的拼音输入法软件。
好了,码开现在开始讲做用VB做输入法的源笔第一步,做一个无焦点的用宝塔装源码窗体,输入法一般都是没有标题栏的,就算有标题栏也是没有焦点的(本文来自wb.com)。
用VB做焦点的窗体,我们要靠API来帮VB实现此功能。
先在窗体模块输入:
Private Const GWL_STYLE = (-)
Private Const HWND_TOPMOST = -1
Private Const HWND_NOTOPMOST = -2
Private Const SWP_NOSIZE = &H1
Private Const SWP_NOMOVE = &H2
Private Const SWP_NOACTIVATE = &H
Private Const SWP_SHOWWINDOW = &H
Private Const WS_EX_NOACTIVATE = &H
Private Const GWL_EXSTYLE = (-)
Private Declare Function SetWindowLong Lib "user" Alias "SetWindowLongA" (ByVal hwnd As Long,hrm系统源码php ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function GetWindowLong Lib "user" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare Sub SetWindowPos Lib "user" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long)
然后在窗体的load事件里输入:
Private Sub Form_Load()
Dim style As Long
style = GetWindowLong(Me.hwnd, GWL_EXSTYLE)
style = style Or WS_EX_NOACTIVATE
Call SetWindowLong(Me.hwnd, GWL_EXSTYLE, style)
SetWindowPos Me.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOACTIVATE Or SWP_SHOWWINDOW Or SWP_NOMOVE Or SWP_NOSIZE
End Sub
运行以上VB输入法源代码后,发现此窗体启动后没有焦点,即标题栏是灰色的,你点击窗体后发现窗体还是有焦点的,但你不用急,你生成EXE后,拼多多果树源码你就会发现,这个现象不会出现的。
用VB用一个无焦点窗口就这么简单,如果你在窗体上放置标签控件等本身没有焦点的控件,点击它们,也不会影响窗体拥有焦点,但是如果放置自己可以拥有焦点的控件,如按钮控件,用鼠标点击按钮,窗体就会拥有焦点,怎么办呢?要知道,用VB编写输入法后,有时,你还想做一个软键盘的,软键盘上就有布置不少的按钮的。