1.添加树节点
ThkListIndex nIdx = m_Tree.AddRow(m_Man.m_tAsm.m_strNodeName,0);
m_Tree.SetItemText(nIdx, 1, strStatus);
m_Tree.SetItemDataPtr(nIdx, (DWORD_PTR)&m_Man.m_tAsm);
ThkListIndex nSubIdx = m_Tree.AddSubRow(nIdx, pComp->m_strNodeName,0);
m_Tree.SetItemText(nSubIdx,1, strStatus);
m_Tree.SetItemDataPtr(nSubIdx, (DWORD_PTR)pComp);
2.设置图片
m_PblList.SetImageList(IDB_BITMAP3, 16, 16, RGB(255, 255, 255));
m_CopyList.SetImageList(IDB_BITMAP3, 16, 16, RGB(255, 255, 255));
3.设置表头
m_PblList.DeleteAll();
m_PblList.SetHeader(_T("发布几何,110;所属模型,130;所属模型名称,130"));
ThkListIndex nIdx = m_PblList.AddRow(pGeom->m_strPblFeaName, 6);
m_PblList.SetItemText(nIdx, 1,pGeom->m_strBelongName);
m_PblList.SetItemText(nIdx, 2, pGeom->m_strBelongParam);
m_PblList.SetItemDataPtr(nIdx, (DWORD_PTR)pGeom);
4.
m_PblList.SetInitMode(true);
m_PblList.SetInitMode(flae);
5.调整布局
m_PblList.AdjustLayout();
6.行多选
void ThkabcDlg::OnBnClickedBtnAddcpy()
{
// TODO: 在此添加控件通知处理程序代码
if (m_Man.m_tCpyMdl.m_tSld.IsEmpty())
{
Msg_OutErr(_T("未选择复制模型对象"));
return;
}
vector<Thkabcture*>arrFea;
ThkListIndex nIdx = m_PblList.GetFirstSelectedPos(); //行多选
while (nIdx)
{
Thkabcture* pFea = (Thkabcture*)m_PblList.GetItemDataPtr(nIdx);
if (pFea != NULL)
{
arrFea.push_back(pFea);
}
m_PblList.GetNextSelectedPos(nIdx);
}
if (arrFea.size()==0)
{
return;
}
for (int i=0;i<arrFea.size();i++)
{
Thkabcture* pFeat = arrFea[i];
if (pFeat==NULL)
{
continue;
}
if (m_Man.FindCpyPblGeom(pFeat) >= 0)
{
Msg_OutErr(_T("该发布几何已经添加请勿重复添加"));
continue;;
}
int checkState = m_CBAddGeomName.GetCheck();
CString tstr1;
CString tstr2;
if (checkState == 1)
{
m_edPer.GetWindowText(tstr1);
m_edSuf.GetWindowText(tstr2);
}
else
{
tstr1 = _T("");
tstr2 = _T("");
}
CString strName = pFeat->m_strBelongName;
CString strECName = tstr1 + strName + tstr2;
CString strECname = m_Man.FindDuplicateName(strECName);
if (!m_Man.AddCpyArr(pFeat, strECname))
{
return;
}
}
ShowCpyList();
ShowCpySta();
}
7.列表中某列可编辑
m_List.SetColType(1, THK_CTRL_PROEDIT);
m_List.SetItemType(nSubIdx, 1, THK_CTRL_PROEDIT);
m_List.SetItemType(nSubIdx, 2, THK_CTRL_PROEDIT);
8.获取改变表格格子中的内容
void ThkSatFrmSubSysDefDlg::OnEndEditTree(NMHDR* pNMHDR, LRESULT* pRes)
{
TRLTITEM* pItem = (TRLTITEM*)pNMHDR;
if (pItem == NULL) return;
CString strValue = *(pItem->pValue);
strValue.MakeUpper();//全部大写
}
9.对List中表格设置类型(增加checkbox)
m_List.SetItemType(idx, 2,THK_CTRL_CHECKBOX );
m_List.SetItemType(idx, 3, THK_CTRL_CHECKBOX);
10.对List中表格设置颜色
m_List.SetItemBkColor(idx, 4,THK_COLOR_RED);
11.对List中表格设置为Combox类型的单元格进行插入字符串(该函数可自动根据;来进行分割)
m_lstDtl.SetItemType(idx, (int)i, THK_CTRL_COMBO);
m_lstDtl.SetItemOption(idx, (int)i,ThkCabAuxCfg::m_strQltLvType );