1.如何在TreeList中加图标?

[问题提出]
  请问treeview控件和treectrl控件的用法有何不同呢?向如何imagelist控件中加图象呀?
  [解决方法]
  1)
    HICON hicon[8];
    m_imageList.Create(16,16,0,8,8);
    hicon[0]=AfxGetApp()->LoadIcon(IDI_ICON0);
    hicon[1]=AfxGetApp()->LoadIcon(IDI_ICON1);
    hicon[2]=AfxGetApp()->LoadIcon(IDI_ICON2);
    hicon[3]=AfxGetApp()->LoadIcon(IDI_ICON3);
    hicon[4]=AfxGetApp()->LoadIcon(IDI_ICON4);
    hicon[5]=AfxGetApp()->LoadIcon(IDI_ICON5);
    hicon[6]=AfxGetApp()->LoadIcon(IDI_ICON6);
    hicon[7]=AfxGetApp()->LoadIcon(IDI_ICON7);
    for(int n=0;n<8;n++)
        m_imageList.Add(hicon[n]);

CTreeCtrl *pTree=(CTreeCtrl *)GetDlgItem(IDC_TREE);
    pTree->SetImageList(&m_imageList,TVSIL_NORMAL);

2)
    CImageList cil1;
    cil1.Create(32,32,TRUE,2,2);
    cil1.Add(pApp->LoadIcon(IDI_DAO1));
    cil1.Add(pApp->LoadIcon(IDI_DAO2));
    cil1.Add(pApp->LoadIcon(IDI_DAO3));
    cil1.Add(pApp->LoadIcon(IDI_DAO4));
    cil1.Add(pApp->LoadIcon(IDI_DAO5));
    cil1.Add(pApp->LoadIcon(IDI_DAO6));
    cil1.Add(pApp->LoadIcon(IDI_DAO7));
    cil1.Add(pApp->LoadIcon(IDI_DAO8));
    cil1.Add(pApp->LoadIcon(IDI_DAO9));
    
    //设置图象列表
    m_list.SetImageList(&cil1,LVSIL_NORMAL);

2.如何选择CTreeCtrl中的节点文本进行编辑?

在向CTreeCtrl中加入一项后,有什么方法可以编辑该节点的文本呢?

首先设置你的CcompTreeCtrl具有TVS_EDITLABELS属性.在设计时用控件属性来设置在运行时用GetStyle()/SetStyle()成员函数来设置.然后请看下述代码:

HTREEITEM CCompTreeCtrl::AddSet()
{
static int setCnt =3D 1;
HTREEITEM hItem;
CString csSet;

//create text for new note: New Set 1, New Set 2 ...
csSet.Format( _T( "New Set %d" ), setCnt++ );

hItem =3D InsertItem( csSet, IMG_CLOSEDFOLDER, IMG_CLOSEDFOLDER );

if( hItem !=3D NULL )
           EditLabel( hItem );

return hItem;
}

积累的VC编程小技巧之树操作的更多相关文章

  1. 积累的VC编程小技巧之文件操作

    1.删除文件夹 // 删除文件夹及其所有内容void CBaseDoc::RemoveFolder(const CString &strPathName){    CString path = ...

  2. 积累的VC编程小技巧之按钮

    1.资源种创建的控件,对其属性的动态控制: 在对话框类的头文件里创建所要改变属性的控件的对象,如要改变一个Button(其ID为IDC_MyButton)的属性,则需创建Cbutton的对象m_but ...

  3. 积累的VC编程小技巧之框架窗口及其他

    1.修改主窗口风格 AppWizard生成的应用程序框架的主窗口具有缺省的窗口风格,比如在窗口标题条中自动添加文档名.窗口是叠加型的.可改变窗口大小等.要修改窗口的缺省风格,需要重载CWnd::Pre ...

  4. 积累的VC编程小技巧之打印相关

    1.修改打印预览的ToolBar 为AFX_IDD_PREVIEW_TOOLBAR这个ID创建一个DialogBar.则系统就会用新创建的DialogBar代替系统默认的那个 2.关于打印 1.要打印 ...

  5. 积累的VC编程小技巧之编辑框

    1.如何让对话框中的编辑框接收对话框的消息 ////////////////////////////////////////////////// 如何让对话框中的CEdit控件类接收对话框的消息/// ...

  6. 积累的VC编程小技巧之标题栏和菜单

    1.窗口最大最小化按纽的控制 ①怎样在程序开始的时候让它最大化? ②vc++做出来的exe文件在窗体的右上方是没有最大化和最小化按钮的,怎样实现这一功能? ③如何在显示窗口时,使最大化按钮变灰?   ...

  7. 积累的VC编程小技巧之图标、光标及位图

    1.图标透明 (1).Windows中的图标其实是有两个图像组成的,其中一个用于与它要显示的位置的图像做“AND”操作,另一个作“XOR”操作. 透明:用“白色”AND,用“黑色”XOR 反色:用“白 ...

  8. 积累的VC编程小技巧之视图

    1.如何得到视图指针 [问题提出]    现在你有一个多线程的Demo,你想在多线程里处理视图指针里的函数,我们给这个函数起个名字:Put();该如何实现呢?   //有两种方法可以实现你的要求:   ...

  9. 积累的VC编程小技巧之对话框

    1.用鼠标移动基于对话框的无标题栏程序的简单方法 void CVCTestDlg::OnLButtonDown(UINT nFlags, CPoint point) {    //一句话解决问题    ...

随机推荐

  1. 11g的alert日志路径

    一个测试库,11g,没有sys账户,无法用show parameter dump查看alert日志的路径,以前也碰到过,但后来就不了了之了.这次深挖下,也参考了下一些网上的帖子,于是找到了: $ORA ...

  2. Android AES加密算法及事实上现

    昨天老大叫我看看android加密算法.于是网上找了找,找到了AES加密算法.(当然还有MD5,BASE64什么的http://snowolf.iteye.com/blog/379860这篇文章列举了 ...

  3. QTP的基本功能介绍

    • QTP的基本功能介绍 HP QuickTest Professional 支持功能測试和回归測试自己主动化,用于每一个主要软件应用程序和环境.此解决方式使用keyword驱动的測试概念,简化了測试 ...

  4. 总结:js中4类修改样式的方法

    前言 最近在写一个扩展右键菜单的插件,既然是插件,想着一步到位,把相关的style样式设置都丢进js文件中,直接加载一个js文件便可以使用该插件,所以今天就研究了下js批量的插入样式的方法,即addS ...

  5. 教你在mac上配置adb环境变量

    1.打开终端,一次输入如下命令 cd ~ touch .bash_profile open -e .bash_profile 2.这时候会在TextEdit中打开一个空白文档,输入下面的语句 a. 输 ...

  6. python 求值表达式解析

    采用中缀转后缀的算法. 注意我输入的格式. #注意格式 def suffix(st): listopt=[" "] listnum=[" "] for i in ...

  7. 关于java的环境变量的一点总结

    配置java环境变量: 一:为了在任意目录下使用java的开发工具javac,所以将javac.exe所在的目录加入到系统路径下, 即:在环境变量的path中加入javac.exe所在的目录.一般放在 ...

  8. Spring MVC 学习笔记 json格式的输入和输出

    Spring mvc处理json需要使用jackson的类库,因此为支持json格式的输入输出需要先修改pom.xml增加jackson包的引用 <!-- json --> <dep ...

  9. 基于visual Studio2013解决C语言竞赛题之1037数组求列和

          题目 解决代码及点评 /* 功能:已知有三个数组A,B,C,A为5行5列的二维数组,B.C为只有5个元素的一维数组,键盘输入数据的顺序如下: 23,45,6,1,- ...

  10. VS2008下直接安装使用Boost库1.46.1版本

    Boost库是一个可移植.提供源代码的C++库,作为标准库的后备,是C++标准化进程的发动机之一. Boost库由C++标准委员会库工作组成员发起,其中有些内容有望成为下一代C++标准库内容.在C++ ...