使MSHFlexGrid支援滑鼠滾動

2021-06-28 18:52:07 字數 1998 閱讀 8609

以下程式放在乙個公共模組中,

在窗體中的form_load事件中 寫 hookwheel me.hwnd

在窗體中的form_unload事件中 寫 unhookwheel me.hwnd

在**的gotfocus事件中 set ctlwheel=msflexgrid1  '( **名稱,根據具體情況,修改這個名稱)

在**的lostfocus事件中 set ctlwheel=nothing'( **名稱,根據具體情況,修改這個名稱)

option explicit

private declare function setwindowlong lib "user32" alias "setwindowlonga" (byval hwnd as long, byval nindex as long, byval dwnewlong as long) as long

private 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

private const gwl_wndproc   as long = (-4)

private const wm_mousewheel as long = &h20a

private m_oldwindowproc as long

public ctlwheel as object

public sub hookwheel(byval frmhwnd)

m_oldwindowproc = setwindowlong(frmhwnd, gwl_wndproc, addressof pvwindowproc)

end sub

public sub unhookwheel(byval hwnd as long)

dim lngreturnvalue as long

lngreturnvalue = setwindowlong(hwnd, gwl_wndproc, m_oldwindowproc)   

end sub

private function pvwindowproc(byval hwnd as long, byval wmsg as long, byval wparam as long, byval lparam as long) as long

on error goto errh   

select case wmsg   

case wm_mousewheel

if not ctlwheel is nothing then

if typeof ctlwheel is msflexgrid then

with ctlwheel                   

select case wparam

case is > 0       

if ctlwheel.toprow > 0 then

ctlwheel.toprow = ctlwheel.toprow - 1

end if                               

case else                              

ctlwheel.toprow = ctlwheel.toprow + 1                               

end select

end with

end if                 

end if

end select   

errh:   

pvwindowproc = callwindowproc(m_oldwindowproc, hwnd, wmsg, wparam, lparam)

end function

使SQLServer資料支援

學習如何用的xml特徵為你的提供新的功能。如果你在it業工作,那麼你很可能聽說過xml 但如果你的工作主要與sqlserver有關,那麼你可能並沒有直接運用過xml。xml已經是web環境中的普遍的資料格式了,而且它也是中主要的底層技術之一。sqlserver以兩種方式來支援xml 通過sqlser...

使KVM autotest支援qemu 模擬

在預設的情況下 kvm autotest必須要kvm的支援。否則會報錯。現在做下面的改動,可以讓在沒有kvm支援的情況下,也可以使用kvm autotest。diff git a client virt kvm vm.py b client virt kvm vm.py index ffa55c1....

使php支援mbstring庫

mbstring庫 全稱是multi byte string 即各種語言都有自己的編碼,他們的位元組數是不一樣的,目前php內部的編碼只支援iso 8859 euc jp,utf 8 其他的編碼的語言是沒辦法在php程式上正確顯示的。解決的方法就是通過php的mbstring函式庫來解決 其安裝是在...