SendMessage(lpdis->hwndItem, LB_SETITEMDATA, lpdis->itemID, (LPARAM)hbmpCheck);
BitBlt(lpdis->hDC, lpdis->rcItem.left + 2, lpdis->rcItem.top + 2, lpdis->rcItem.right - lpdis->rcItem.left, lpdis->rcItem.bottom - lpdis->rcItem.top, hdcMem, 0, 0, SRCCOPY);  DeleteDC(hdcMem); }
void DrawCheck(LPDRAWITEMSTRUCT lpdis, HDC hdcMem){  siC     *siCTemp  = NULL;  HBITMAP hbmpCheck;  siCTemp = SiCNodeGetObject(lpdis->itemID, FALSE);  if(siCTemp != NULL)  {    if(siCTemp->dwAttributes & SIC_SELECTED)      hbmpCheck = LoadBitmap(hSetupRscInst, MAKEINTRESOURCE(IDB_BOX_CHECKED));    else      hbmpCheck = LoadBitmap(hSetupRscInst, MAKEINTRESOURCE(IDB_BOX_UNCHECKED));    // BitBlt() is used to prepare the checkbox icon into the list box item's device context.    // The SendMessage() function using LB_SETITEMDATA performs the drawing.    BitBlt(lpdis->hDC,           lpdis->rcItem.left + 2,           lpdis->rcItem.top + 2,           lpdis->rcItem.right - lpdis->rcItem.left,           lpdis->rcItem.bottom - lpdis->rcItem.top,           hdcMem,           0,           0,           SRCCOPY);    SendMessage(lpdis->hwndItem, LB_SETITEMDATA, lpdis->itemID, (LPARAM)hbmpCheck);  }}