12. september 2001 - 22:58Der er
5 kommentarer og 1 løsning
Indsætning af ICONER i en CListBox i MFC
Jeg skal bruge den nemmeste mulige måde, at sætte iconer ind i en CListBox af typen REPORT unde MFC. Alle iconerne har størrelsen 16 x 16. Det skal være muligt at indsætte i alle colums og rows, IKKE bare den første column (Som jeg har bokset med hele dagen). Jeg skal bare bruge en lille stump code der viser hvordan dette gøres nemmest muligt. Det burde ikke være nødvendig med altmuligt OnCustumdrawList()... diller daller. Hvis der samtidig fremgår en måde at fjerne dem på igen, vil det være Xtra plus plus godt.
// Generated message map functions protected: //{{AFX_MSG(CIconPickerList) // NOTE - the ClassWizard will add and remove member functions here. //}}AFX_MSG
DECLARE_MESSAGE_MAP() };
// Implement below void CIconPickerList::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct) { CDC* pDC = CDC::FromHandle(lpDrawItemStruct->hDC); HICON hIcon = (HICON)lpDrawItemStruct->itemData; // HICON in Item data
if (lpDrawItemStruct->itemAction & ODA_DRAWENTIRE) { // Paint the color item in the color requested pDC->DrawIcon(lpDrawItemStruct->rcItem.left+5,lpDrawItemStruct->rcItem.top+5,hIcon); }
if ((lpDrawItemStruct->itemState & ODS_SELECTED) && (lpDrawItemStruct->itemAction & (ODA_SELECT | ODA_DRAWENTIRE))) { // item has been selected - hilite frame CBrush br(GetSysColor(COLOR_HIGHLIGHT)); CRect rect; rect.CopyRect(&lpDrawItemStruct->rcItem); rect.DeflateRect(2,2,2,2); pDC->FrameRect(&rect, &br);
Tjaa dette er ved at være et gammelt spørgsmål, og jeg er kommet videre unden at bruge noget af ovenstående hjælp. Min løsning var at jeg begyndte at bruge et grid komponent fra OGrid fra firmaet stingray. Denne løste dette ICON og MANGE MANGE andre problemr. Men ellers tak for hjælpen til jer alle
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.