For example, using the MFC TaskPanes sample at TasksPane to set clicked task text to green
Add to the bottom of CTaskPane class in TaskPane.h -
protected:
BOOL CreateTreeControl();
BOOL CreateEditControl();
int m_prevGroup{ -1 }; //Added by RLWA32
int m_prevTask{ -1 }; //Added by RLWA32
COLORREF m_prevClr; //Added by RLWA32
// Implementation
public:
virtual ~CTaskPane();
virtual void OnClickTask(int nGroupNumber, int nTaskNumber, UINT uiCommandID, DWORD_PTR dwUserData); //Added by RLWA32
protected:
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
DECLARE_MESSAGE_MAP()
};
Add OnClickTask override to TaskPane.cpp -
void CTaskPane::OnClickTask(int nGroupNumber, int nTaskNumber, UINT uiCommandID, DWORD_PTR dwUserData)
{
if (nGroupNumber != m_prevGroup || nTaskNumber != m_prevTask)
{
if (m_prevGroup != -1 && m_prevTask != -1)
SetTaskTextColor(m_prevGroup, m_prevTask, m_prevClr);
}
m_prevGroup = nGroupNumber;
m_prevTask = nTaskNumber;
m_prevClr = GetTask(nGroupNumber, nTaskNumber)->m_clrText;
SetTaskTextColor(nGroupNumber, nTaskNumber, RGB(0, 255, 0));
CMFCTasksPane::OnClickTask(nGroupNumber, nTaskNumber, uiCommandID, dwUserData);
}