// title; for items, this is the label or button text.
inline virtual wxString GetLabel() const { return GetTitle(); }
-
+#if wxUSE_CARET && WXWIN_COMPATIBILITY
// Caret manipulation
virtual void CreateCaret(int w, int h);
virtual void CreateCaret(const wxBitmap *bitmap);
virtual void ShowCaret(bool show);
virtual void SetCaretPos(int x, int y);
virtual void GetCaretPos(int *x, int *y) const;
-
+#endif
// Handle a control command
virtual void OnCommand(wxWindow& win, wxCommandEvent& event);
// on a listbox)
virtual void OnDefaultAction(wxControl *initiatingItem);
+ // EventHandlers
void OnEraseBackground(wxEraseEvent& event);
void OnChar(wxKeyEvent& event);
void OnKeyDown(wxKeyEvent& event);
void OnPaint(wxPaintEvent& event);
void OnIdle(wxIdleEvent& event);
+ // Accessors
+
+ WXHWND GetHWND() const { return m_hWnd; }
+ void SetHWND(WXHWND hWnd) { m_hWnd = hWnd; }
+ virtual WXWidget GetHandle() const { return GetHWND(); }
public:
// ---------------------------------------------------------------------------
// a toolbar that it manages itself).
virtual void AdjustForParentClientOrigin(int& x, int& y, int sizeFlags);
+ // Windows subclassing
+ void SubclassWin(WXHWND hWnd);
+ void UnsubclassWin();
+
+ WXFARPROC OS2GetOldWndProc() const { return m_oldWndProc; }
+ void OS2SetOldWndProc(WXFARPROC proc) { m_oldWndProc = proc; }
+
+ wxWindow *FindItem(long id) const;
+ wxWindow *FindItemByHWND(WXHWND hWnd, bool controlOnly = FALSE) const;
+
+ // Determine whether 3D effects are wanted
+ WXDWORD Determine3DEffects(WXDWORD defaultBorderStyle, bool *want3D) const;
+
+ // PM only: TRUE if this control is part of the main control
+ virtual bool ContainsHWND(WXHWND WXUNUSED(hWnd)) const { return FALSE; };
+
// Executes the default message
virtual long Default();
-/* TODO: you may need something like this
- // Determine whether 3D effects are wanted
- virtual WXDWORD Determine3DEffects(WXDWORD defaultBorderStyle, bool *want3D);
-*/
-
// Constraint implementation
void UnsetConstraints(wxLayoutConstraints *c);
// Back-pointer to other windows we're involved with, so if we delete
// Transfers data to any child controls
void OnInitDialog(wxInitDialogEvent& event);
+ virtual MRESULT OS2WindowProc(HWND hwnd, WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam);
+
+
protected:
// Caret data
wxButton * m_defaultItem;
public:
+ WXFARPROC m_oldWndProc;
int m_returnCode;
+ bool m_isBeingDeleted;
+ bool m_isShown;
+ bool m_winCaptured;
+ bool m_mouseInWindow;
+ bool m_backgroundTransparent;
+ // handles
+ WXHWND m_hWnd;
+ WXHMENU m_hMenu; // Menu, if any
+
+ // the size of one page for scrolling
+ int m_xThumbSize;
+ int m_yThumbSize;
+ long m_lDlgCode;
DECLARE_EVENT_TABLE()
private:
- void Init();
+ void Init();
+ void PMDetachWindowMenu();
};
////////////////////////////////////////////////////////////////////////