List Control - SetTextColor(RGB(0,0,255)); auch für einzelne Items?



  • marko. schrieb:

    ich wollte das eigentlich so machen: das item mit der ID=1 den text blau färben;-)
    nun möcht ich das alle blauen items am anfang der List Control platziert werden, danach die in schwarz...ist sowas möglich?

    Sobald du ein Item verschiebst bzw. sortierst, mußt du die ListCtrl neu zeichenen, also neu einfärben. Deswegen erst sortieren:
    1. Die 'blauen' Items an den Anfang verschieben.
    2. Die 'blauen' Items in OnCustomDraw einfärben.

    Grüsse,
    don_basto



  • ja...aber die items die blau werden weiss ich erst zur runtime...und das könnnen irgendwelche sein..ist das ein problem?

    cu



  • marko. schrieb:

    ja...aber die items die blau werden weiss ich erst zur runtime...und das könnnen irgendwelche sein..ist das ein problem?

    Für mich nicht. 😃



  • nagut ich versuchs mal;-)
    wie komm ich von der id des items zu pLVCD->nmcd.dwItemSpec das ist ja die aktuelle pos des items in der list control!?
    cu 😃



  • marko. schrieb:

    wie komm ich von der id des items zu pLVCD->nmcd.dwItemSpec das ist ja die aktuelle pos des items in der list control!?

    pLVCD->nmcd.dwItemSpec ist der Index des Items, was gerade gezeichnet wird. Also die Position in der ListCtrl. Was meinst du mit ID?



  • ja das:

    m_Popup.InsertMenu(1, MF_BYPOSITION | MF_STRING, 1, "Send Message");
    

    der dritte parameter da ist ja die ID des items...die kann sich ja nicht verändern, die pos des items also param. 1 schon...
    ich müsste halt von der id des items auf die pos kommen...

    cu



  • das was du da gerade gezeigt hast gehört wahrscheinlich zu CMenu !!
    das ist was ganz anderes



  • also ich will nun folgendes machen:

    wenn ich auf einen button klicke will ich einen item "Gerald" in der list control blau einfärben und dann die list control nach der farbe sortieren...
    dh.: Gerald soll dann an pos 1 der list control stehen...

    wie komm ich von pszText auf die aktuelle Pos in der List Control?
    dann muss ich:
    1. Die 'blauen' Items an den Anfang verschieben.
    alle items löschen u neu einfügen? oder gibt es das was besseres?

    2. Die 'blauen' Items in OnCustomDraw einfärben.
    ich mach am besten einen std::vector wo ich alle items die blau werden sollen speichere?

    so füge ich die items in die list control ein:

    char* username[]={"Gerald","Marcel","windowsint","ChrisM","Sebi","evilissimo"};
    
    	LV_ITEM item; 
    	m_ListCtrl.InsertColumn(0,"Userlist",LVCFMT_LEFT,183,0);
    	item.mask=LVIF_TEXT;
    
        for(int j=0; j<6; j++)
        {
    		item.iItem=0;
            item.pszText=username[j];
            item.iSubItem=0;
            int itemNr=m_ListCtrl.InsertItem(&item);
         }
    


  • hm..irgendwie funktioniert das nicht;-( das mit dem sortieren klappt nicht...
    jemand ne idee? hab versucht in die list control alle items neu rein zu schreiben...hm

    cu



  • jemand nen rat? werd am weekend wieder mal hier was weiter machen...

    cu



  • help is needed;-)


Anmelden zum Antworten