richedit的wheel事件用法(100分)

  • 主题发起人 主题发起人 enong
  • 开始时间 开始时间
E

enong

Unregistered / Unconfirmed
GUEST, unregistred user!
我去掉了richedit的滚动条想用滚轮鼠标来
代替,发现richedit的wheel事件触发不了。
 
这样就可以了
procedure TForm1.RichEdit1MouseWheelDown(Sender: TObject;
Shift: TShiftState; MousePos: TPoint; var Handled: Boolean);
begin
SendMessage(RichEdit1.Handle,wm_vscroll,SB_LINEDOWN,0);
end;

procedure TForm1.RichEdit1MouseWheelUp(Sender: TObject; Shift: TShiftState;
MousePos: TPoint; var Handled: Boolean);
begin
SendMessage(RichEdit1.Handle,wm_vscroll,SB_LINEUP,0);
end;
 
可我要去掉RICHEDIT的滚动条,然后触发这个事件。
 
我试了试,似乎没有什么问题。也与滚动条无关。
其他地方出问题了吧
 
to : enong
详述你的问题!
 
我发现若没有滚动条就触发不了RichEdit1MouseWheelUp
和RichEdit1MouseWheelDown事件。
 
不可能!我这可是好使(我用Win2k).
你Windows的版本太老吧?或者找找你别的地方有没有毛病!
 
我用windows me,
我在win 98上也一样。
不会跟鼠标驱动有关吧?
 
我刚试了一下(winme);不管是有无流动条
在向下转动滚轮时触发down事件,在向上转动滚轮时触发up事件,但是在按下滚轮时没有
触发什么事件。我想也许IE和OFFICE等MS的程序中进行了特殊的检测,因为我在别的有滚动
条的程序中也可以用滚轮,但是不能用按下滚轮获取特殊的移动方法。(delphi的编程环境
就可以用滚轮来滚动,但是按下滚轮没有反应!)
 
那就是说Richedit中若没有滚动
条就真没办法触发richEdit1MouseWheelUp事件了?
 
我也试过了,好象Richedit中若没有滚动条不能触发richEdit1MouseWheelUp事件。
 
我又试了一下,发现去掉滚轮鼠标的驱动程序后就可以了,不知是何故了。
 
enong:如果你还要继续讨论请定期提前你的帖子,如果不想继续讨论请结束帖子。
 
多人接受答案了。
 
后退
顶部