+WXDWORD wxControl::OS2GetStyle( long lStyle, WXDWORD* pdwExstyle ) const
+{
+ long dwStyle = wxWindow::OS2GetStyle( lStyle, pdwExstyle );
+
+ if (AcceptsFocusFromKeyboard())
+ {
+ dwStyle |= WS_TABSTOP;
+ }
+ return dwStyle;
+} // end of wxControl::OS2GetStyle
+
+void wxControl::SetLabel( const wxString& rsLabel )
+{
+ if(rsLabel != m_label)
+ {
+ m_label = rsLabel;
+ wxString label;
+ if (m_dwStyle & DT_MNEMONIC)
+ label = ::wxPMTextToLabel(m_label);
+ else
+ label = m_label;
+ ::WinSetWindowText(GetHwnd(), label.c_str());
+ }
+} // end of wxControl::SetLabel
+
+// ---------------------------------------------------------------------------
+// global functions
+// ---------------------------------------------------------------------------
+
+// Call this repeatedly for several wnds to find the overall size
+// of the widget.
+// Call it initially with -1 for all values in rect.
+// Keep calling for other widgets, and rect will be modified
+// to calculate largest bounding rectangle.
+void wxFindMaxSize(
+ WXHWND hWnd
+, RECT* pRect
+)
+{
+ int nLeft = pRect->xLeft;
+ int nRight = pRect->xRight;
+ int nTop = pRect->yTop;
+ int nBottom = pRect->yBottom;
+
+ ::WinQueryWindowRect((HWND)hWnd, pRect);
+
+ if (nLeft < 0)
+ return;
+
+ if (nLeft < pRect->xLeft)
+ pRect->xLeft = nLeft;
+
+ if (nRight > pRect->xRight)
+ pRect->xRight = nRight;
+
+ if (nTop > pRect->yTop)
+ pRect->yTop = nTop;