fix for scrollbar's thumb update bug in wxUniv

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@14090 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Václav Slavík
2002-02-09 23:27:52 +00:00
parent 7070053377
commit 21c3670fec
2 changed files with 13 additions and 2 deletions

View File

@@ -122,6 +122,9 @@ protected:
// event handlers // event handlers
void OnIdle(wxIdleEvent& event); void OnIdle(wxIdleEvent& event);
// forces update of thumb's visual appearence (does nothing if m_dirty=FALSE)
void UpdateThumb();
// SetThumbPosition() helper // SetThumbPosition() helper
void DoSetThumb(int thumbPos); void DoSetThumb(int thumbPos);

View File

@@ -300,6 +300,12 @@ wxScrollArrows::Arrow wxScrollBar::HitTest(const wxPoint& pt) const
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
void wxScrollBar::OnIdle(wxIdleEvent& event) void wxScrollBar::OnIdle(wxIdleEvent& event)
{
UpdateThumb();
event.Skip();
}
void wxScrollBar::UpdateThumb()
{ {
if ( m_dirty ) if ( m_dirty )
{ {
@@ -373,8 +379,6 @@ void wxScrollBar::OnIdle(wxIdleEvent& event)
m_dirty = FALSE; m_dirty = FALSE;
} }
event.Skip();
} }
void wxScrollBar::DoDraw(wxControlRenderer *renderer) void wxScrollBar::DoDraw(wxControlRenderer *renderer)
@@ -464,6 +468,10 @@ bool wxScrollBar::PerformAction(const wxControlAction& action,
{ {
DoSetThumb(numArg); DoSetThumb(numArg);
// VS: we have to force redraw here, otherwise the thumb will lack
// behind mouse cursor
UpdateThumb();
scrollType = wxEVT_SCROLLWIN_THUMBTRACK; scrollType = wxEVT_SCROLLWIN_THUMBTRACK;
} }
else if ( action == wxACTION_SCROLL_LINE_UP ) else if ( action == wxACTION_SCROLL_LINE_UP )