- // Subclass again for purposes of dialog editing mode
- SubclassWin((WXHWND)m_hWnd);
-
- (void)NewControlId() ;
- m_radioButtons = new WXHWND[n];
- m_radioWidth = new int[n] ;
- m_radioHeight = new int[n] ;
-
- int i;
- for (i = 0; i < n; i++)
- {
- long groupStyle = 0;
- if (i == 0 && style==0)
- groupStyle = WS_GROUP;
- long newId = NewControlId();
- m_radioWidth[i] = ((wxBitmap *)choices[i])->GetWidth();
- m_radioHeight[i] = ((wxBitmap *)choices[i])->GetHeight();
- char tmp[32] ;
- sprintf(tmp,"Toggle%d",i) ;
- long msStyle = groupStyle | RADIO_FLAGS;
- m_radioButtons[i] = (WXHWND) CreateWindowEx(exStyle, RADIO_CLASS, tmp,
- msStyle,0,0,0,0,
- the_handle, (HMENU)newId, wxhInstance, NULL);
-#if CTL3D
- if (want3D)
- {
- Ctl3dSubclassCtl((HWND) m_hWnd);
- m_useCtl3D = TRUE;
- }
-#endif
- m_subControls.Append((wxObject *)newId);
- }
- // Create a dummy radio control to end the group.
- (void)CreateWindowEx(0, RADIO_CLASS, "", WS_GROUP|RADIO_FLAGS, 0,0,0,0, the_handle, (HMENU)NewControlId(), wxGetInstance(), NULL);
-
- SetSelection(0);
-
- SetSize(x, y, width, height);
-
- return TRUE;
-}
-#endif
-
-wxRadioBox::~wxRadioBox(void)
-{
- m_isBeingDeleted = TRUE;
-
- if (m_radioButtons)
- {
- int i;
- for (i = 0; i < m_noItems; i++)
- DestroyWindow((HWND) m_radioButtons[i]);
- delete[] m_radioButtons;
- }
- if (m_radioWidth)
- delete[] m_radioWidth ;
- if (m_radioHeight)
- delete[] m_radioHeight ;
- if (m_hWnd)
- ::DestroyWindow((HWND) m_hWnd) ;
- m_hWnd = 0 ;