谢谢
解决方案 »
- 我想通过调用API来设置 PIcturebox的 ScaleHeight 应该用那个API呢
- 请教SQL语句的问题
- VB导出完EXCEL并另存为,保存后不能释放EXCEL,急急!!!!!!
- 关于Printer的纵向输出打印
- 运行用VB写的程序时如何判断系统盘是否有某个文件,有则不作处理,没有则退出程序?
- 玩一年多VB了,不懂进程(高分呀!!!!)
- 大家好,很头疼的一个问题,急急急!!!
- 水贴
- 拜托各位帮我看看问题出在那里?—运行提示:查询输入必须至少包含一个表或查询,这是什么意思?
- 如何动态加载控件
- 如何获得DataCombo的输入值?
- 如何保存mdiform的activeform的recordset?
可以在按钮后放一个TEXT只类的空件,当点击按钮时,让TEXT获得焦点。
不知道效果怎么样
其实那个框框就是焦点RECT在窗体上画一个按扭,输入以下代码:
Private Sub Form_Load()
Hook Me.hWnd
End Sub
再新建一个模块(一定要在模块里!!!),输入以下代码:
Option Explicit
'-----------------------------------------------
' 只需要在WinProc过程中的Select Case语句中加
' 入需要拦截的Windows消息,以及你需要完成操作的代
' 码,就可以实现你的子类化程序。
'-----------------------------------------------
Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hWnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As LongPublic Const GWL_WNDPROC = (-4)
Public Const WM_SETFOCUS = &H7Private OldProc&
Private mhWnd&'==================================================
'回调
Function WinProc&(ByVal hWnd&, ByVal wMsg&, _
ByVal wParam&, ByVal lParam&)
Select Case wMsg
Case WM_SETFOCUS
Debug.Print "看有没有??"
Exit Function
End Select
WinProc& = CallWindowProc(OldProc, hWnd, wMsg, wParam, lParam)
End Function
'==================================================
'==================================================
'挂钩
Sub Hook(ByVal nhWnd&)
If OldProc <> 0 Then Exit Sub
mhWnd& = nhWnd&
OldProc = SetWindowLong(nhWnd&, GWL_WNDPROC, AddressOf WinProc)
End Sub
'==================================================
'==================================================
'脱钩
Sub UnHook()
If OldProc = 0 Then Exit Sub
SetWindowLong mhWnd, GWL_WNDPROC, OldProc
OldProc = 0
End Sub
'==================================================
Private Sub Form_Unload(Cancel As Integer)
UnHook
End Sub
Hook Me.hWnd
End SubMe.hWnd还要改为按扭的句柄
Case WM_SETFOCUS
Debug.Print "看有没有??"
Exit Function
有了 Exit Function 这个回调函数是如何交给原窗口程序的呢?