Programming Tips - win32 and MFC: Why are my TreeView checkboxes not working?

Date: 2010may18 OS: Windows Platform: Windows Language: C/C++ Q. win32 and MFC: Why are my TreeView checkboxes not working? A. MSDN says:
If you want to use this style, you must set the TVS_CHECKBOXES style with SetWindowLong after you create the treeview control, and before you populate the tree. Otherwise, the checkboxes might appear unchecked, depending on timing issues.
So even if you set it in .rc file that isn't enough! My practice is to never set it in the .rc file (since it only half works) and suggests that it is working. In MFC:
m_MyTree.ModifyStyle(TVS_CHECKBOXES, TVS_CHECKBOXES);
In win32:
void EnableCheckboxes(HWND hwndTreeView) { DWORD dwStyle = GetWindowLong(hwndTreeView, GWL_STYLE); dwStyle |= TVS_CHECKBOXES; SetWindowLong(hwndTreeView, GWL_STYLE, dwStyle); }