set 本貼優先級=1 go!!

Jameszht 2002-05-02 04:38:04
在text_change事件中,如何知道textbox的輸入是由鍵盤完成的,還是由粘貼完成的(可能是用mouse,也可能是ctl+V)
...全文
28 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Chice_wxg 2002-05-03
  • 打赏
  • 举报
回复
Form1上放个Text1,代码如下:

Option Explicit

Private Sub Form_Load()
hOldTxtWnd = SetWindowLong(Text1.hWnd, GWL_WNDPROC, AddressOf NewWndProc)
End Sub

Private Sub Form_Unload(Cancel As Integer)
SetWindowLong Text1.hWnd, GWL_WNDPROC, hOldTxtWnd
End Sub





添加一个模块,代码如下:
Option Explicit

Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Public Const GWL_WNDPROC = (-4)
Public Const WM_PASTE = &H302
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

Public hOldTxtWnd As Long

Public Function NewWndProc(ByVal h As Long, ByVal m As Long, ByVal w As Long, ByVal l As Long) As Long
If m = WM_PASTE Then
MsgBox "You Pasted Some Text!", vbInformation, "Hehe~~~"
End If
NewWndProc = CallWindowProc(hOldTxtWnd, h, m, w, l)
End Function
Jameszht 2002-05-03
  • 打赏
  • 举报
回复
chice_wxg:
加50分求代碼
Chice_wxg 2002-05-03
  • 打赏
  • 举报
回复

子类化后监视WM_CUT WM_COPY WM_PASTE系列消息。

绝对准确管用。

Jameszht 2002-05-03
  • 打赏
  • 举报
回复
請大家說一說你們是如何實現如下操作的:
在一個textbox 中只能輸入數字(我已完成),但是要考慮用戶用的粘貼方面,貼入一些文本。如何在其輸入文本後提示用戶。
Jameszht 2002-05-02
  • 打赏
  • 举报
回复
但是只有在textbox 中right click 並選擇粘貼才要處理
也就是說不是所有的mousemove 都要處理
IsMe 2002-05-02
  • 打赏
  • 举报
回复
optional explicit
private enum TxtChangeReason
byKeyboardInput=0
byKeyPaste=1
byMousePaste=2
end enum
dim m_Reason as TxtChangeReason
private sub text1_mousedown(x.....)
m_reason=2
end sub
private sub text1_keydown(keycode as integer,shift as integer)
if shift=vbctrlmask and keycode=vbkeyv then
m_reason=1
else
m_reason=0
end if
end sub
wgku 2002-05-02
  • 打赏
  • 举报
回复
如果是用MOUSE的会有MOUSEMOVE事件被触发!!!
_1_ 2002-05-02
  • 打赏
  • 举报
回复
那就比较keyascii 和 change 事件的时间差,或者做个标记

7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧