Oh wait, it did more than that. Here is part of my function:
BOOL CIntegrityErrorDlg::OnIntegritycontextmenuFilter(UINT id)
{
//...
// restore new caret location
hItem = m_DiagItems.findNode(m_DiagItems.GetRootItem(), CCWMultiColumnTreeCtrl::forwards, 20
, [&nodeString](CCWMultiColumnTreeCtrl& rTree, HTREEITEM hItem)
{
return rTree.GetItemText(hItem) == nodeString;
});
m_DiagItems.Select(hItem, TVGN_CARET);
m_DiagItems.EnsureVisible(hItem);
m_Reset.ShowWindow(SW_SHOW);
// unfreeze tree
m_DiagItems.SetRedraw(TRUE);
// invalidate tree control.
m_DiagItems.Invalidate();
return TRUE; // stop handling this message
}
and this is what I got:
class CIntegrityErrorDlg : public CGRPlusDialog
{
//...
afx_msg BOOL restoreCaret( HTREEITEM &hItem, CString nodeString );
//...
};
BOOL CIntegrityErrorDlg::OnIntegritycontextmenuFilter(UINT id)
{
//...
// restore new caret location
return restoreCaret(hItem, nodeString);
m_Reset.ShowWindow(SW_SHOW);
// unfreeze tree
m_DiagItems.SetRedraw(TRUE);
// invalidate tree control.
m_DiagItems.Invalidate();
return TRUE; // stop handling this message
}
BOOL CIntegrityErrorDlg::restoreCaret( HTREEITEM &hItem, CString nodeString )
{
hItem = m_DiagItems.findNode(m_DiagItems.GetRootItem(), CCWMultiColumnTreeCtrl::forwards, 20
, [&nodeString](CCWMultiColumnTreeCtrl& rTree, HTREEITEM hItem)
{
return rTree.GetItemText(hItem) == nodeString;
});
m_DiagItems.Select(hItem, TVGN_CARET);
m_DiagItems.EnsureVisible(hItem);
}
So, it wasn't at the end of the function and the code highlighted wasn't being assigned to anything, so why did it return a BOOL? It should have returned void.
Also it put a return in the middle of the function. Not sure what that's about.
A