无输入焦点窗体 拖动时卡顿,如何解决?
【要求】
窗体无输入焦点(也就是运行时不会影响其他窗口的输入焦点);
拖动窗体时不要出现下面代码中的卡顿现象。希望能求到正确的代码,谢谢!
(生成.exe文件后,运行程序,然后打开其他窗口,再拖动窗体,就会卡)
下面是代码:
Option Explicit ' 转移输入焦点的声明Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long ' 禁止本窗体拥有输入焦点的常数Private Const HWND_NOTOPMOST = -2Private Const WS_DISABLED = &H8000000 Private Const GWL_EXSTYLE = (-20)Private Const GWL_STYLE = (-16) '禁止拥有输入焦点Private Sub Form_Load()SetWindowLong Me.hwnd, GWL_EXSTYLE, WS_DISABLED Or GetWindowLong(Me.hwnd, GWL_EXSTYLE)End Sub