Preventing editing item labels in tree view

This article was contributed by Marius Bakelis.

If we have created tree view control with the TVS_EDITLABELS style we can edit all its
items labels. But sometimes we do need that not all tree view control items labels could
be editable. So we must prevent editing of item labels we don’t want to be editable.
We can override the PreTranslateMessage() function:

BOOL CTreeCtrlX::PreTranslateMessage(MSG* pMsg)
if( pMsg->message == WM_LBUTTONDOWN )
CPoint pt = pMsg->pt;


if( HitTest( pt, &flag ) == GetSelectedItem()
// && there you can check is the item which cannot be editable
SetFocus(); //We must set focus to the tree view control
//becouse it can have no focus

return TRUE ; // DO NOT process further

return CTreeCtrl::PreTranslateMessage(pMsg);

More by Author

Must Read