Domanda

Attualmente sono in grado di impostare uno stile listview VIA il metodo ListView_SetExtendedListViewStyle, tuttavia ciò rende tutte le colonne con lo stesso stile. Il mio obiettivo è di modificare solo una colonna (sostanzialmente per avere lo stile LVS_EX_UNDERLINEHOT | LVS_EX_UNDERLINECOLD | LVS_EX_TWOCLICKACTIVATE).

C'è un modo per modificare lo stile di una sola colonna e non dell'intera tabella?

Modifica: o anche un modo per disegnare la cella personalizzata?

È stato utile?

Soluzione

Se usi il WTL allora c'è una utilissima classe CCustomDraw che puoi usare per intercettare facilmente i messaggi NM_CUSTOMDRAW e disegnare il proprio contenuto di visualizzazione elenco.

Esiste un buon articolo di CodeProject sull'estrazione personalizzata usando WTL qui .

Altri suggerimenti

Esiste un tutorial sull'uso del controllo ListView nell'API Win32, su CodeProject .

Cerca la parte chiamata --- Sottotitolo Colori --- in " ListView Colors " . Lì vedrai il seguente codice, in cui dovresti inserire la chiamata ListView_SetExtendedListViewStyle () corrispondente all'interno dell'istruzione case:

case CDDS_SUBITEM | CDDS_ITEMPREPAINT: 
        {
            switch(lplvcd->iSubItem)
            {
                case 0: // Your first column
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top