- // shift check mark 1 pixel to the right, looks better like this
- x++;
-
- if ( IsChecked() )
- {
- // first create a monochrome bitmap in a memory DC
- MemoryHDC hdcMem(hdc);
- MonoBitmap hbmpCheck(nCheckWidth, nCheckHeight);
- SelectInHDC selBmp(hdcMem, hbmpCheck);
-
- // then draw a check mark into it
- RECT rect = { 0, 0, nCheckWidth, nCheckHeight };
- ::DrawFrameControl(hdcMem, &rect,
-#ifdef __WXWINCE__
- DFC_BUTTON, DFCS_BUTTONCHECK
-#else
- DFC_MENU, DFCS_MENUCHECK
-#endif
- );
-
- // finally copy it to screen DC
- ::BitBlt(hdc, x, y, nCheckWidth, nCheckHeight, hdcMem, 0, 0, SRCCOPY);
- }
-
- // now we draw the smaller rectangle
- y++;
- nCheckWidth -= 2;
- nCheckHeight -= 2;
-
- // draw hollow gray rectangle
- (void)::SelectObject(hdc, (HGDIOBJ)hpenGray);
-
- SelectInHDC selBrush2(hdc, ::GetStockObject(NULL_BRUSH));
- Rectangle(hdc, x, y, x + nCheckWidth, y + nCheckHeight);
-
- return true;
-}
-
-// 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 )