class CListCtrl2 : public CListCtrl { public: bool (*DataIsValidCheck)(void *data); // a remote function protected: void DrawItem(void *data); } void CListCtrl2::DrawItem(void *data) { bool showNormal=false; if(DataIsValidCheck!=NULL) // if its set, then call it showNormal=DataIsValidCheck(data); if(showNormal) textcolor=black; else textcolor=red; ... } class MyWindow : public CDialog { public: bool CheckItemValidity(void *data); // parent window with ability to validate item protected: CListCtrl2 ListCtrl; // the list control } MyWindow::MyWindow() { ListCtrl2.DataIsValidCheck = this->CheckItemValidity; } bool MyWindow::CheckItemValidity(void *itemData) { if(...) return true; else return false; }
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)