vc中的控件使用(CTreeCtrl,CComboBox,CFileDialog)
文章出处:飞诺网
(www.firnow.com):http://dev.firnow.com/course/3_program/vc/vc_js/200836/102943.html
1 tree control 控件
tree control控件的类为CTreeCtrl,使用方法如下:
CTreeCtrl m_treeProj;
DWORD dwStyle = GetWindowLong(m_treeProj.m_hWnd, GWL_STYLE); // 获得当前树控件的
GWL_TYPE显示类型
dwStyle |= TVS_HASBUTTONS | TVS_HASLINES | TVS_LINESATROOT; //自定义显示类型
SetWindowLong(m_treeProj.m_hWnd, GWL_STYLE, dwStyle); // 设置显示类型
HTREEITEM m_hRoot = m_treeProj.InsertItem("根节点"); // 插入一个根节点. 为HTREEITEM数
据类型
m_treeProj.Expand(m_hRoot,TVE_EXPAND); // 将m_hRoot根结点设置为展开样式
m_treeProj.InsertItem("子节点",m_hRoot);
改变树节点时,获取当前节点:
添加TVN_SELCHANGED事件,在事件处理函数中使用GetSelectedItem()函数可以得到当前选中的节
点
GetItemText()函数可以得到节点的名称,如:
HTREEITEM hCurItem;
hCurItem = m_treeProj.GetSelectedItem(); //得到当前选中的节点
CString strVal = m_treeProj.GetItemText(hCurItem); //获取选中节点的名称
2 文件对话框
在mfc中打开选择或者保存文件的对话框非常简单,用CFileDialog类,使用方法如下:
CFileDialog fileObj(TRUE); //TRUE 表示打开选择文件对话框,FALSE表示打开保存文件对话框
if(fileObj.DoModal() == IDOK)
{
CString filedir = fileObj.GetPathName(); //得到选择的文件的完整路径
//to do
}
3 选择框CComboBox
CComBox为一个选择列表框,使用方法如下:
CComBox m_combo;
m_combo.AddString("options"); //添加一个子项
添加CBN_SELCHANGE事件,可以监听选择框的变化,但是在事件处理函数中如果需要获取当前选中的
项,则需要作如下处理:
int nIndex = this->m_combo.GetCurSel();
int nCount = this->m_combo.GetCount();
if ((nIndex != CB_ERR) && (nCount >= 1))
{
if (nIndex < nCount)
this->m_combo.SetCurSel(nIndex);
else
this->m_combo.SetCurSel(0);
}
否则的话,获取到的将是变化以前的内容
文章出处:飞诺网
(www.firnow.com):http://dev.firnow.com/course/3_program/vc/vc_js/200836/102943.html