0/5 (2 avis)
Vue 9 924 fois - Téléchargée 929 fois
// ITEM_DRAW : DESSINE LES ITEMS ///////////////////////////////////////////////////////////////////////////////// void cNU_ListView::Item_Draw(LPDRAWITEMSTRUCT lpDrawItem) { if(!pm_hlistview) return; RECT rctTemp, rctTemp2; BOOL BSelected = FALSE; int iTemp = 0; HBRUSH hbrTemp; char szTemp[256] = ""; ListView_GetItemRect(pm_hlistview, lpDrawItem->itemID, &rctTemp, LVIR_BOUNDS); rctTemp.top = lpDrawItem->rcItem.top; rctTemp.bottom = lpDrawItem->rcItem.bottom; rctTemp.right = 0; rctTemp2 = lpDrawItem->rcItem; rctTemp2.left +=1; hbrTemp = CreateSolidBrush(pm_ItemsNU[lpDrawItem->itemID].clrBorderColor); FillRect(lpDrawItem->hDC, &rctTemp2, hbrTemp); DeleteObject(hbrTemp); if(ListView_GetItemState(pm_hlistview, lpDrawItem->itemID, LVIS_SELECTED) & LVIS_SELECTED) BSelected = TRUE; for(int a=0; a<pm_iColumnCount; a++){ rctTemp.right = rctTemp.left + ListView_GetColumnWidth(pm_hlistview, a); if(!a) { if(BSelected){ rctTemp.left += 2; rctTemp.top +=1; rctTemp.bottom -=1; hbrTemp = CreateSolidBrush(pm_ItemsNU[lpDrawItem->itemID].clrSelBackColor); FillRect(lpDrawItem->hDC, &rctTemp, hbrTemp); DeleteObject(hbrTemp); SetTextColor(lpDrawItem->hDC, pm_ItemsNU[lpDrawItem->itemID].clrSelTextColor); rctTemp.left -= 2; rctTemp.top -=1; rctTemp.bottom +=1; } else { hbrTemp = CreateSolidBrush(pm_ItemsNU[lpDrawItem->itemID].clrBackColor); FillRect(lpDrawItem->hDC, &rctTemp, hbrTemp); DeleteObject(hbrTemp); SetTextColor(lpDrawItem->hDC, pm_ItemsNU[lpDrawItem->itemID].clrTextColor); } rctTemp.left += 3; rctTemp.right -=2; if(pm_ItemsNU[lpDrawItem->itemID].szText[0] != '\0') DrawText(lpDrawItem->hDC, pm_ItemsNU[lpDrawItem->itemID].szText, (int)strlen(pm_ItemsNU[lpDrawItem->itemID].szText), &rctTemp, DT_VCENTER); rctTemp.left -= 3; } else { if(BSelected){ rctTemp.top +=1; rctTemp.bottom -=1; if(a == pm_iColumnCount-1) rctTemp.right -=1; hbrTemp = CreateSolidBrush(pm_ItemsNU[lpDrawItem->itemID].SubItem[a].clrSelBackColor); FillRect(lpDrawItem->hDC, &rctTemp, hbrTemp); DeleteObject(hbrTemp); SetTextColor(lpDrawItem->hDC, pm_ItemsNU[lpDrawItem->itemID].SubItem[a].clrSelTextColor); rctTemp.top -=1; rctTemp.bottom +=1; if(a == pm_iColumnCount-1) rctTemp.right +=1; } else { hbrTemp = CreateSolidBrush(pm_ItemsNU[lpDrawItem->itemID].SubItem[a].clrBackColor); FillRect(lpDrawItem->hDC, &rctTemp, hbrTemp); DeleteObject(hbrTemp); SetTextColor(lpDrawItem->hDC, pm_ItemsNU[lpDrawItem->itemID].SubItem[a].clrTextColor); } rctTemp.left += 3; rctTemp.right -=2; if(pm_ItemsNU[lpDrawItem->itemID].SubItem[a].szText[0] != '\0') DrawText(lpDrawItem->hDC, pm_ItemsNU[lpDrawItem->itemID].SubItem[a].szText, (int)strlen(pm_ItemsNU[lpDrawItem->itemID].SubItem[a].szText), &rctTemp, DT_VCENTER); rctTemp.left -= 3; } rctTemp.left = rctTemp.left + ListView_GetColumnWidth(pm_hlistview, a); } return; }
12 juin 2006 à 17:51
12 juin 2006 à 02:39
Bravo et bonne continuation:)
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.