-void wxRadioBox::GetSize(int *width, int *height) const
-{
- RECT rect = { -1, -1, -1, -1 };
-
- if (m_hWnd)
- wxFindMaxSize(m_hWnd, &rect);
-
- int i;
- for (i = 0; i < m_noItems; i++)
- wxFindMaxSize(m_radioButtons[i], &rect);
-
- *width = rect.right - rect.left;
- *height = rect.bottom - rect.top;
-}
-
-void wxRadioBox::GetPosition(int *x, int *y) const
-{
- wxWindow *parent = GetParent();
- RECT rect = { -1, -1, -1, -1 };
-
- int i;
- for (i = 0; i < m_noItems; i++)
- wxFindMaxSize(m_radioButtons[i], &rect);
-
- if (m_hWnd)
- wxFindMaxSize(m_hWnd, &rect);
-
- // Since we now have the absolute screen coords, if there's a parent we
- // must subtract its top left corner
- POINT point;
- point.x = rect.left;
- point.y = rect.top;
- if (parent)
- {
- ::ScreenToClient((HWND) parent->GetHWND(), &point);
- }
-
- // We may be faking the client origin. So a window that's really at (0, 30)
- // may appear (to wxWin apps) to be at (0, 0).
- if (GetParent())
- {
- wxPoint pt(GetParent()->GetClientAreaOrigin());
- point.x -= pt.x;
- point.y -= pt.y;
- }
-
- *x = point.x;
- *y = point.y;
-}
-
-void wxRadioBox::SetFocus()
-{
- if (m_noItems > 0)
- {
- ::SetFocus((HWND)m_radioButtons[m_selectedButton == wxID_ANY
- ? 0
- : m_selectedButton]);
- }
-
-}
-
-bool wxRadioBox::Show(bool show)