vc中的控件使用(CTreeCtrl,CComboBox,CFileDialog)

来源:互联网 发布:java倒序输出数组传参 编辑:程序博客网 时间:2024/04/30 07:34

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);
 }
   否则的话,获取到的将是变化以前的内容

原创粉丝点击