virtual void Update();
virtual void Freeze();
virtual void Thaw();
+ virtual bool IsFrozen() const { return m_frozenness > 0; }
- virtual void SetWindowStyleFlag( long style );
+ virtual void SetWindowStyleFlag(long style);
+ virtual void SetExtraStyle(long exStyle);
virtual bool SetCursor( const wxCursor &cursor );
virtual bool SetFont( const wxFont &font );
virtual bool ScrollLines(int lines);
virtual bool ScrollPages(int pages);
+ virtual void SetLayoutDirection(wxLayoutDirection dir);
+ virtual wxLayoutDirection GetLayoutDirection() const;
+ virtual wxCoord AdjustForLayoutDirection(wxCoord x,
+ wxCoord width,
+ wxCoord widthTotal) const;
+
#if wxUSE_DRAG_AND_DROP
virtual void SetDropTarget( wxDropTarget *dropTarget );
#endif // wxUSE_DRAG_AND_DROP
WXDWORD MSWGetCreateWindowFlags(WXDWORD *exflags = NULL) const
{ return MSWGetStyle(GetWindowStyle(), exflags); }
+ // update the real underlying window style flags to correspond to the
+ // current wxWindow object style (safe to call even if window isn't fully
+ // created yet)
+ void MSWUpdateStyle(long flagsOld, long exflagsOld);
+
// translate wxWidgets coords into Windows ones suitable to be passed to
// ::CreateWindow()
//
bool HandleSetCursor(WXHWND hWnd, short nHitTest, int mouseMsg);
+ bool HandlePower(WXWPARAM wParam, WXLPARAM lParam, bool *vetoed);
+
+
// Window procedure
virtual WXLRESULT MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam);
// check if mouse is in the window
bool IsMouseInWindow() const;
+ // check if a native double-buffering applies for this window
+ virtual bool IsDoubleBuffered() const;
+
// synthesize a wxEVT_LEAVE_WINDOW event and set m_mouseInWindow to false
void GenerateMouseLeave();
virtual void DoCaptureMouse();
virtual void DoReleaseMouse();
- // has the window been frozen by Freeze()?
- bool IsFrozen() const { return m_frozenness > 0; }
-
// this simply moves/resizes the given HWND which is supposed to be our
// sibling (this is useful for controls which are composite at MSW level
// and for which DoMoveWindow() is not enough)
// current defer window position operation handle (may be NULL)
WXHANDLE m_hDWP;
+protected:
// When deferred positioning is done these hold the pending changes, and
// are used for the default values if another size/pos changes is done on
// this window before the group of deferred changes is completed.
wxPoint m_pendingPosition;
wxSize m_pendingSize;
+private:
#ifdef __POCKETPC__
bool m_contextMenuEnabled;
#endif
// kbd code translation
WXDLLEXPORT int wxCharCodeMSWToWX(int keySym, WXLPARAM lParam = 0);
-WXDLLEXPORT WXWORD wxCharCodeWXToMSW(int id, bool *IsVirtual);
+WXDLLEXPORT WXWORD wxCharCodeWXToMSW(int id, bool *IsVirtual = NULL);
// window creation helper class: before creating a new HWND, instantiate an
// object of this class on stack - this allows to process the messages sent to