没什么问题。 示例:UINT uCount = m_TreeCtrl.GetVisibleCount(); HTREEITEM hItem = m_TreeCtrl.GetFirstVisibleItem();// Toggle the check state of all the visible items. for (UINT i = 0; i < uCount; i++) { ASSERT(hItem != NULL); m_TreeCtrl.SetCheck(hItem, !m_TreeCtrl.GetCheck(hItem)); hItem = m_TreeCtrl.GetNextVisibleItem(hItem); }
HTREEITEM hItem,
BOOL fCheck = TRUE
);
if(m_viewgroupname == "默认视频组")
{
GetDlgItem(IDC_VIEWGROUPNAMEEDIT)->EnableWindow(FALSE);
GetDlgItem(IDC_VIEWLISTTREE)->EnableWindow(FALSE);
GetDlgItem(IDC_DECIDEBUTTON)->EnableWindow(FALSE);
}
_variant_t varviewgroupname;
CString viewgroupname;
CString sqlstring = "select Devname from DevInfo where Devgrpname = ''";
int insertpos = sqlstring.Find("Devgrpname = '");
insertpos += 14;
sqlstring.Insert(insertpos,m_viewgroupname);
pHandlerDeviceRecordset.CreateInstance(__uuidof(Recordset));
try
{
pHandlerDeviceRecordset->Open(_bstr_t(sqlstring), // 查询DemoTable表中所有字段
_variant_t((IDispatch *)m_pConnectServer,true), // 获取库接库的IDispatch指针
adOpenDynamic,
adLockOptimistic,
adCmdText);
}
catch(_com_error &e)
{
AfxMessageBox(e.Description());
} while (!pHandlerDeviceRecordset->adoEOF)
{
varviewgroupname = pHandlerDeviceRecordset->GetCollect("Devname"); if(varviewgroupname.vt != VT_NULL)
{
viewgroupname = (LPCSTR)_bstr_t(varviewgroupname);
}
TVINSERTSTRUCT tvInsert;
tvInsert.hParent = NULL;
tvInsert.hInsertAfter = NULL;
tvInsert.item.mask = TVIF_TEXT;
tvInsert.item.pszText = viewgroupname.GetBuffer(20);
hUsertree = m_viewlisttree.InsertItem(&tvInsert);
m_viewlisttree.SetCheck(hUsertree);
pHandlerDeviceRecordset->MoveNext();
}
m_viewlisttree.Expand(hUsertree,TVE_EXPAND);
m_viewlisttree.ModifyStyle(0, TVS_NOHSCROLL);
就这么写的
没什么问题。 示例:UINT uCount = m_TreeCtrl.GetVisibleCount();
HTREEITEM hItem = m_TreeCtrl.GetFirstVisibleItem();// Toggle the check state of all the visible items.
for (UINT i = 0; i < uCount; i++)
{
ASSERT(hItem != NULL);
m_TreeCtrl.SetCheck(hItem, !m_TreeCtrl.GetCheck(hItem));
hItem = m_TreeCtrl.GetNextVisibleItem(hItem);
}