show the resize cursor when the mouse is above the grip and not only when it's just on it

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@14310 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin 2002-02-19 18:00:59 +00:00
parent ec760ec9a0
commit d150404924

View File

@ -4205,16 +4205,28 @@ wxWin32StatusBarInputHandler(wxInputHandler *handler)
bool wxWin32StatusBarInputHandler::IsOnGrip(wxWindow *statbar,
const wxPoint& pt) const
{
wxTopLevelWindow *parentTLW = wxDynamicCast(statbar->GetParent(), wxTopLevelWindow);
if ( statbar->HasFlag(wxST_SIZEGRIP) &&
statbar->GetParent()->HasFlag(wxRESIZE_BORDER) &&
parentTLW && !parentTLW->IsMaximized() )
statbar->GetParent()->HasFlag(wxRESIZE_BORDER) )
{
wxSize sizeSbar = statbar->GetSize();
wxTopLevelWindow *
parentTLW = wxDynamicCast(statbar->GetParent(), wxTopLevelWindow);
return (sizeSbar.x - pt.x) < (wxCoord)STATUSBAR_GRIP_SIZE &&
(sizeSbar.y - pt.y) < (wxCoord)STATUSBAR_GRIP_SIZE;
wxCHECK_MSG( parentTLW, FALSE,
_T("the status bar should be a child of a TLW") );
// a maximized window can't be resized anyhow
if ( !parentTLW->IsMaximized() )
{
// VZ: I think that the standard Windows behaviour is to only
// show the resizing cursor when the mouse is on top of the
// grip itself but apparently different Windows versions behave
// differently (?) and it seems a better UI to allow resizing
// the status bar even when the mouse is above the grip
wxSize sizeSbar = statbar->GetSize();
int diff = sizeSbar.x - pt.x;
return diff >= 0 && diff < (wxCoord)STATUSBAR_GRIP_SIZE;
}
}
return FALSE;
@ -4289,9 +4301,8 @@ bool wxWin32FrameInputHandler::HandleMouse(wxInputConsumer *consumer,
if ( hit == wxHT_TOPLEVEL_TITLEBAR )
{
tlw->PerformAction(wxACTION_TOPLEVEL_BUTTON_CLICK,
tlw->IsMaximized() ?
wxTOPLEVEL_BUTTON_RESTORE :
wxTOPLEVEL_BUTTON_MAXIMIZE);
tlw->IsMaximized() ? wxTOPLEVEL_BUTTON_RESTORE
: wxTOPLEVEL_BUTTON_MAXIMIZE);
return TRUE;
}
}