Added EVT_MOVE_START, EVT_MOVE_END (wxMSW only for now)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47850 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Julian Smart
2007-08-01 15:34:48 +00:00
parent 900af4701c
commit aa767a4521
5 changed files with 54 additions and 12 deletions

View File

@@ -24,6 +24,10 @@ function that takes a wxMoveEvent argument.
\begin{twocollist}\itemsep=0pt \begin{twocollist}\itemsep=0pt
\twocolitem{{\bf EVT\_MOVE(func)}}{Process a wxEVT\_MOVE event, which is generated \twocolitem{{\bf EVT\_MOVE(func)}}{Process a wxEVT\_MOVE event, which is generated
when a window is moved.} when a window is moved.}
\twocolitem{{\bf EVT\_MOVE\_START(func)}}{Process a wxEVT\_MOVE\_START event, which is generated
when the user starts to move or size a window. wxMSW only.}
\twocolitem{{\bf EVT\_MOVE\_END(func)}}{Process a wxEVT\_MOVE\_END event, which is generated
when the user stops moving or sizing a window. wxMSW only.}
\end{twocollist} \end{twocollist}
\wxheading{See also} \wxheading{See also}

View File

@@ -275,13 +275,15 @@ BEGIN_DECLARE_EVENT_TYPES()
DECLARE_EVENT_TYPE(wxEVT_UPDATE_UI, 440) DECLARE_EVENT_TYPE(wxEVT_UPDATE_UI, 440)
DECLARE_EVENT_TYPE(wxEVT_SIZING, 441) DECLARE_EVENT_TYPE(wxEVT_SIZING, 441)
DECLARE_EVENT_TYPE(wxEVT_MOVING, 442) DECLARE_EVENT_TYPE(wxEVT_MOVING, 442)
DECLARE_EVENT_TYPE(wxEVT_HIBERNATE, 443) DECLARE_EVENT_TYPE(wxEVT_MOVE_START, 443)
DECLARE_EVENT_TYPE(wxEVT_MOVE_END, 444)
DECLARE_EVENT_TYPE(wxEVT_HIBERNATE, 445)
// more power events follow -- see wx/power.h // more power events follow -- see wx/power.h
// Clipboard events // Clipboard events
DECLARE_EVENT_TYPE(wxEVT_COMMAND_TEXT_COPY, 444) DECLARE_EVENT_TYPE(wxEVT_COMMAND_TEXT_COPY, 446)
DECLARE_EVENT_TYPE(wxEVT_COMMAND_TEXT_CUT, 445) DECLARE_EVENT_TYPE(wxEVT_COMMAND_TEXT_CUT, 447)
DECLARE_EVENT_TYPE(wxEVT_COMMAND_TEXT_PASTE, 446) DECLARE_EVENT_TYPE(wxEVT_COMMAND_TEXT_PASTE, 448)
// Generic command events // Generic command events
// Note: a click is a higher-level event than button down/up // Note: a click is a higher-level event than button down/up
@@ -2846,6 +2848,8 @@ typedef void (wxEvtHandler::*wxClipboardTextEventFunction)(wxClipboardTextEvent&
#define EVT_SIZING(func) wx__DECLARE_EVT0(wxEVT_SIZING, wxSizeEventHandler(func)) #define EVT_SIZING(func) wx__DECLARE_EVT0(wxEVT_SIZING, wxSizeEventHandler(func))
#define EVT_MOVE(func) wx__DECLARE_EVT0(wxEVT_MOVE, wxMoveEventHandler(func)) #define EVT_MOVE(func) wx__DECLARE_EVT0(wxEVT_MOVE, wxMoveEventHandler(func))
#define EVT_MOVING(func) wx__DECLARE_EVT0(wxEVT_MOVING, wxMoveEventHandler(func)) #define EVT_MOVING(func) wx__DECLARE_EVT0(wxEVT_MOVING, wxMoveEventHandler(func))
#define EVT_MOVE_START(func) wx__DECLARE_EVT0(wxEVT_MOVE_START, wxMoveEventHandler(func))
#define EVT_MOVE_END(func) wx__DECLARE_EVT0(wxEVT_MOVE_END, wxMoveEventHandler(func))
#define EVT_CLOSE(func) wx__DECLARE_EVT0(wxEVT_CLOSE_WINDOW, wxCloseEventHandler(func)) #define EVT_CLOSE(func) wx__DECLARE_EVT0(wxEVT_CLOSE_WINDOW, wxCloseEventHandler(func))
#define EVT_END_SESSION(func) wx__DECLARE_EVT0(wxEVT_END_SESSION, wxCloseEventHandler(func)) #define EVT_END_SESSION(func) wx__DECLARE_EVT0(wxEVT_END_SESSION, wxCloseEventHandler(func))
#define EVT_QUERY_END_SESSION(func) wx__DECLARE_EVT0(wxEVT_QUERY_END_SESSION, wxCloseEventHandler(func)) #define EVT_QUERY_END_SESSION(func) wx__DECLARE_EVT0(wxEVT_QUERY_END_SESSION, wxCloseEventHandler(func))

View File

@@ -317,6 +317,8 @@ public:
bool HandleSize(int x, int y, WXUINT flag); bool HandleSize(int x, int y, WXUINT flag);
bool HandleSizing(wxRect& rect); bool HandleSizing(wxRect& rect);
bool HandleGetMinMaxInfo(void *mmInfo); bool HandleGetMinMaxInfo(void *mmInfo);
bool HandleEnterSizeMove();
bool HandleExitSizeMove();
bool HandleShow(bool show, int status); bool HandleShow(bool show, int status);
bool HandleActivate(int flag, bool minimized, WXHWND activate); bool HandleActivate(int flag, bool minimized, WXHWND activate);

View File

@@ -257,6 +257,8 @@ DEFINE_EVENT_TYPE(wxEVT_SIZE)
DEFINE_EVENT_TYPE(wxEVT_SIZING) DEFINE_EVENT_TYPE(wxEVT_SIZING)
DEFINE_EVENT_TYPE(wxEVT_MOVE) DEFINE_EVENT_TYPE(wxEVT_MOVE)
DEFINE_EVENT_TYPE(wxEVT_MOVING) DEFINE_EVENT_TYPE(wxEVT_MOVING)
DEFINE_EVENT_TYPE(wxEVT_MOVE_START)
DEFINE_EVENT_TYPE(wxEVT_MOVE_END)
DEFINE_EVENT_TYPE(wxEVT_CLOSE_WINDOW) DEFINE_EVENT_TYPE(wxEVT_CLOSE_WINDOW)
DEFINE_EVENT_TYPE(wxEVT_END_SESSION) DEFINE_EVENT_TYPE(wxEVT_END_SESSION)
DEFINE_EVENT_TYPE(wxEVT_QUERY_END_SESSION) DEFINE_EVENT_TYPE(wxEVT_QUERY_END_SESSION)

View File

@@ -2543,6 +2543,18 @@ WXLRESULT wxWindowMSW::MSWWindowProc(WXUINT message, WXWPARAM wParam, WXLPARAM l
} }
break; break;
case WM_ENTERSIZEMOVE:
{
processed = HandleEnterSizeMove();
}
break;
case WM_EXITSIZEMOVE:
{
processed = HandleExitSizeMove();
}
break;
case WM_SIZING: case WM_SIZING:
{ {
LPRECT pRect = (LPRECT)lParam; LPRECT pRect = (LPRECT)lParam;
@@ -4563,6 +4575,24 @@ bool wxWindowMSW::HandleMoving(wxRect& rect)
return rc; return rc;
} }
bool wxWindowMSW::HandleEnterSizeMove()
{
wxMoveEvent event(wxPoint(), m_windowId);
event.SetEventType(wxEVT_MOVE_START);
event.SetEventObject(this);
return GetEventHandler()->ProcessEvent(event);
}
bool wxWindowMSW::HandleExitSizeMove()
{
wxMoveEvent event(wxPoint(), m_windowId);
event.SetEventType(wxEVT_MOVE_END);
event.SetEventObject(this);
return GetEventHandler()->ProcessEvent(event);
}
bool wxWindowMSW::HandleSize(int WXUNUSED(w), int WXUNUSED(h), WXUINT wParam) bool wxWindowMSW::HandleSize(int WXUNUSED(w), int WXUNUSED(h), WXUINT wParam)
{ {
#if USE_DEFERRED_SIZING #if USE_DEFERRED_SIZING