mfc - Ændring af filnavnfarve i Windows Explorer-listevisning.

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg vil gerne tilpasse Windows Stifinder.


En ting, jeg vil gøre, er at ændre filnavnets farve i listevisning, hvis filen har en særlig betingelse.

Er det muligt ved vinduesunderklassificering? eller har det brug for api hooking?

Lad mig vide, hvad der er den bedste måde at gøre dette på.


Tak.

Bedste reference


Ja, du kan gøre det med vinduesunderklassen:


Tilføj NM\_CUSTOMDRAW handler til din CListCtrl-afledte klasse


void CMyList::OnCustomDraw(NMHDR* pNMHDR, LRESULT* pResult)
{

LPNMLVCUSTOMDRAW lplvcd = (LPNMLVCUSTOMDRAW)pNMHDR;

switch (lplvcd->nmcd.dwDrawStage)
{
case CDDS\_PREPAINT:
    *pResult = CDRF\_NOTIFYITEMDRAW;
    break;

case CDDS\_ITEMPREPAINT:
    *pResult = CDRF\_NOTIFYSUBITEMDRAW;
    break;

case CDDS\_ITEMPREPAINT | CDDS\_SUBITEM:
    lplvcd->clrText = **MY\_COLOR**;
    *pResult = CDRF\_DODEFAULT;
}


}