- DrawFrameControl(hdcMem, &rect, DFC_MENU, DFCS_MENUCHECK);
-#else
- // In WIN16, draw a cross
- HPEN blackPen = CreatePen(PS_SOLID, 1, RGB(0, 0, 0));
- HPEN whiteBrush = (HPEN)GetStockObject(WHITE_BRUSH);
- HPEN hPenOld = (HPEN)::SelectObject(hdcMem, blackPen);
- HPEN hBrushOld = (HPEN)::SelectObject(hdcMem, whiteBrush);
- ::SetROP2(hdcMem, R2_COPYPEN);
- Rectangle(hdcMem, 0, 0, nCheckWidth, nCheckHeight);
- MoveTo(hdcMem, 0, 0);
- LineTo(hdcMem, nCheckWidth, nCheckHeight);
- MoveTo(hdcMem, nCheckWidth, 0);
- LineTo(hdcMem, 0, nCheckHeight);
- ::SelectObject(hdcMem, hPenOld);
- ::SelectObject(hdcMem, hBrushOld);
- ::DeleteObject(blackPen);
-#endif
-
- // finally copy it to screen DC and clean up
- BitBlt(hdc, x, y, nCheckWidth - 1, nCheckHeight,
- hdcMem, 0, 0, SRCCOPY);
-
- SelectObject(hdcMem, hbmpOld);
- DeleteObject(hbmpCheck);
- DeleteDC(hdcMem);
- }
-
- // now we draw the smaller rectangle
- y++;
- nCheckWidth -= 2;
- nCheckHeight -= 2;
-
- // draw hollow gray rectangle
- (void)SelectObject(hdc, hpenGray);
- HBRUSH hbrPrev = (HBRUSH)SelectObject(hdc, GetStockObject(NULL_BRUSH));
- Rectangle(hdc, x, y, x + nCheckWidth, y + nCheckHeight);
-
- // clean up
- (void)SelectObject(hdc, hpenPrev);
- (void)SelectObject(hdc, hbrPrev);
-
- DeleteObject(hpenBack);
- DeleteObject(hpenGray);
-
- /*
- dc.DrawRectangle(x, y, nCheckWidth, nCheckHeight);
-
- if ( IsChecked() ) {
- dc.DrawLine(x, y, x + nCheckWidth, y + nCheckHeight);
- dc.DrawLine(x, y + nCheckHeight, x + nCheckWidth, y);
- }
- */
-
- return TRUE;
- }
-
- return FALSE;
-}
-
-// change the state of the item and redraw it
-void wxCheckListBoxItem::Check(bool check)
-{
- m_bChecked = check;
-
- // index may be changed because new items were added/deleted
- if ( m_pParent->GetItemIndex(this) != (int)m_nIndex )