|
From: Davy D. <dd...@ne...> - 2001-12-11 20:57:54
|
jeroen wrote: > .... > If we were selecting, call startAutoScroll(). This tests if we're close to the > edge. If startAutoScroll() returns TRUE then simply return. Otherwise, we're > not close to the edge and you should process the mouse coords to select the > appropriate audio samples. > > long onAutoScroll(FXObject*,FXSelector,void*); > > This handler is a kind-of mouse moved message issued while the mouse is more-or-less > standing still near an edge. The implementation should call FXScrollArea::onAutoScroll() > then perform similar code as in onMotion() to select audio samples. Hi, thanx for the quick reply last night. The information has been most helpful. However, I have a question about autoscrolling, then even handlers in general. I'm trying to implement auto scrolling. I did what you said about calling startAutoScroll in my mouse move event handler.. if startAutoScroll returns TRUE then I just return then expecting that onAutoScroll is about to be invoked which will do the work that would have been done in the remaining login in onMotion... However, I noticed that FXScrollArea::onAutoScroll was not virtual (nor defined virtual in any base class that I could tell) so I couldn't just simply override FXScrollArea::onAutoScroll to get the event... So I added an event handler for [SEL_TIMEOUT, FXWindow::ID_AUTOSCROLL, FXWaveView::onAutoScroll] in my function map... Then I remember that you said to call FXScrollArea::onAutoScroll in my handler (which initialially sounded like I should override it)... So adding an event handler *REPLACES* the current one? Why not just make all the handlers in the base class virtual so I could just override them? (BeOS's C++ API sort of works this way if I remember)... Thanks again, Davy |