virtual void Freeze(void);
virtual void Update(void);
virtual void Thaw(void);
+ virtual void SetWindowStyleFlag(long lStyle);
virtual bool SetCursor(const wxCursor& rCursor);
virtual bool SetFont(const wxFont& rFont);
virtual int GetCharHeight(void) const;
,const wxRect* pRect = (wxRect *)NULL
);
+ inline HWND GetScrollBarHorz(void) const {return m_hWndScrollBarHorz;}
+ inline HWND GetScrollBarVert(void) const {return m_hWndScrollBarVert;};
#if wxUSE_DRAG_AND_DROP
virtual void SetDropTarget(wxDropTarget* pDropTarget);
#endif // wxUSE_DRAG_AND_DROP
// PM only: TRUE if this control is part of the main control
virtual bool ContainsHWND(WXHWND WXUNUSED(hWnd)) const { return FALSE; };
+ // translate wxWindows style flags for this control into the PM style
+ // and optional extended style for the corresponding native control
+ //
+ // this is the function that should be overridden in the derived classes,
+ // but you will mostly use OS2GetCreateWindowFlags() below
+ virtual WXDWORD OS2GetStyle( long lFlags
+ ,WXDWORD* pdwExstyle = NULL
+ ) const;
+
+ // get the MSW window flags corresponding to wxWindows ones
+ //
+ // the functions returns the flags (WS_XXX) directly and puts the ext
+ // (WS_EX_XXX) flags into the provided pointer if not NULL
+ WXDWORD OS2GetCreateWindowFlags(WXDWORD* pdwExflags = NULL) const
+ { return OS2GetStyle(GetWindowStyle(), pdwExflags); }
+
+
// returns TRUE if the window has been created
bool OS2Create( PSZ zClass
,const char* zTitle
,int nY
,WXUINT uFlags
);
- bool HandleChar( WXDWORD wParam
+ bool HandleChar( WXWPARAM wParam
,WXLPARAM lParam
,bool bIsASCII = FALSE
);
- bool HandleKeyDown( WXWORD wParam
+ bool HandleKeyDown( WXWPARAM wParam
,WXLPARAM lParam
);
- bool HandleKeyUp( WXDWORD wParam
+ bool HandleKeyUp( WXWPARAM wParam
,WXLPARAM lParam
);
bool HandleQueryDragIcon(WXHICON* phIcon);
,WXLPARAM lParam
);
virtual bool OS2ProcessMessage(WXMSG* pMsg);
+ virtual bool OS2ShouldPreProcessMessage(WXMSG* pMsg);
virtual bool OS2TranslateMessage(WXMSG* pMsg);
virtual void OS2DestroyWindow(void);
);
void MoveChildren(int nDiff);
+ PSWP GetSwp(void) {return &m_vWinSwp;}
protected:
// PM can't create some MSW styles natively but can perform these after
bool m_bBackgroundTransparent:1;
bool m_bMouseInWindow:1;
bool m_bDoubleClickAllowed:1;
+ bool m_bLastKeydownProcessed:1;
bool m_bWinCaptured:1;
WXDWORD m_dwExStyle;
,WXLPARAM* pResult
);
// the helper functions used by HandleChar/KeyXXX methods
- wxKeyEvent CreateKeyEvent(wxEventType evType, int id, WXLPARAM lp) const;
+ wxKeyEvent CreateKeyEvent( wxEventType evType
+ ,int nId
+ ,WXLPARAM lParam = 0
+ ,WXWPARAM wParam = 0
+ ) const;
+
DECLARE_DYNAMIC_CLASS(wxWindowOS2);
DECLARE_NO_COPY_CLASS(wxWindowOS2)
DECLARE_EVENT_TABLE()
+
private:
HWND m_hWndScrollBarHorz;
HWND m_hWndScrollBarVert;
+ SWP m_vWinSwp;
// Virtual function hiding supression
inline virtual bool Reparent(wxWindowBase* pNewParent)