时间: 2021-07-31 作者:daque
你先在窗体上放一个tapplicationevents控件(delphi自带的),找到wmmousewheelmessage事变。 底下是我实行的(这个用的是键盘的左右按键动静,你也不妨改成震动条动静)。 procedure tmainform.wmmousewheelmessage(var msg: tagmsg; var handled: boolean); begin if (dbgrid.focused) and (msg.message = wm_mousewheel) then begin if msg.wparam > 0 then sendmessage(dbgrid.handle, wm_keydown, vk_up, 0) else sendmessage(dbgrid.handle, wm_keydown, vk_down, 0); handled := true; end; end; ------------------------------------------------------------------------- 题目处置,更加感动barely(一哥) dbgrid这么写,先加一个tapplicationevents, procedure tform1.applicationevents1message(var msg: tagmsg; var handled: boolean); begin if (dbgrid1.focused) and (msg.message = wm_mousewheel) then begin if msg.wparam > 0 then sendmessage(dbgrid1.handle, wm_keydown, vk_up, 0) else sendmessage(dbgrid1.handle, wm_keydown, vk_down, 0); handled := true; end; end; stringgrid这么写 procedure tform1.applicationevents1message(var msg: tagmsg; var handled: boolean); begin if (stringgrid1.focused) and (msg.message = wm_mousewheel) then begin if msg.wparam > 0 then sendmessage(stringgrid1.handle, wm_keydown, vk_up, 0) else sendmessage(stringgrid1.handle, wm_keydown, vk_down, 0); handled := true; end; end;