社区
界面
帖子详情
树型控件怎么显示滚动条
dongliang_nuaa
2008-03-21 09:37:23
我的界面中有一个树形控件.当数据量较多时,控件中无法显示滚动条,我的树型控件是在一个view类的OnCreate()函数中用CTreeCtrl::Create()来创建的,不是用的直接拖的控件, 所以没有属性scroll可供勾选,
如果要实现滚动条,应该怎么做呢?
...全文
146
4
打赏
收藏
树型控件怎么显示滚动条
我的界面中有一个树形控件.当数据量较多时,控件中无法显示滚动条,我的树型控件是在一个view类的OnCreate()函数中用CTreeCtrl::Create()来创建的,不是用的直接拖的控件, 所以没有属性scroll可供勾选, 如果要实现滚动条,应该怎么做呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
oakfire
2008-03-21
打赏
举报
回复
自己写了。你看看classwizard都添了啥代码,照着写吧。如果不懂,找本书看吧
dongliang_nuaa
2008-03-21
打赏
举报
回复
恩,我试了下可以了,原来是我在静态拆分窗口的时候把那个滚动条给覆盖住了,我现在的问题是我这样动态创建的树型控件如何响应比如onselchangedtree等消息呢,原本如果是直接拖的控件可以通过classwizard来添加的。
oakfire
2008-03-21
打赏
举报
回复
creat第一个参数样式加上WS_HSCROLL WS_VSCROLL 试试
dongliang_nuaa
2008-03-21
打赏
举报
回复
视图换成是继承CTreeView类,用GetTreeCtrl()得到CTreeCtrl对象,CTreeView类可以直接用类向导来生成需要的消息响应函数,谢谢楼上
java 制作
树型
控
件
1 单一个菜单(小加号框,图标,菜单名),如果还有子节点,就
显示
其下所有子节点, 如点击的是子叶节点时,则打开子叶节点的url 2 节点的信息可以在文件menu.csv中设置,设置时,无须担心顺序,系统里自动有序 --未实现的问题 1
滚动
条事件 2 界面编辑节点 --扩展, 至于存放数据是放在文件或者放入数据库中,可配置 反编译menutree.jar轻松得到全部的源码
VC类似QQ游戏大厅导航的
树型
控
件
第一步:新建一个基于对话框的MFC工程,拖动一棵标准
树型
控
件放于界面之上。添加一个新类CTreeCtrlBT派生自CTreeCtrl。 第二步:为该类添加一些消息响应以及虚函数。其详细作用如下: void PreSubclassWindow(); //用于添加初始化
控
件的相关信息 WM_SIZE //
控
件区域发生变化时候的处理 WM_PAINT //绘制
控
件 WM_MOUSEMOVE //主要获取鼠标所在位置的单元项 第三步:TreeCtrlBT.h中首先声明一个结构用于保存单元项的相关信息,并把所有项的信息放入一个map。实现代码如下: typedef struct tagItemMsg { HTREEITEM hItem; //项的句柄 CBitmap ItemBitmap; //项的位图 COLORREF crTransparent; //透明颜色 tagItemMsg() { hItem = NULL; crTransparent = RGB(255,255,255); } ~tagItemMsg() { if ( ItemBitmap.GetSafeHandle() ) { ItemBitmap.DeleteObject(); } } }ITEM_MSG; typedef map ITEMMSG_MAP; 第四步:计算
控
件的客户区域大小,以及
滚动
条
滚动
的偏移量。详细过程参考源代码 Calculate函数。 第五步:添加接口函数以及成员变量。如下: (注意:TransparentBlt函数,需要包含msimg32.dll) //设置背景位图BOOL SetBackgroudBitmap( UINT nID );BOOL SetBackgroudBitmap(LPCTSTR lpszRecourceName);//设置某一项位图void SetItemBitmap(HTREEITEM hItem, UINT nIdBitmap);void SetItemBitmap(HTREEITEM hItem, LPCTSTR lpszBitmap);//设置展开收缩的图表void SetExpandBitmap(UINT nIdExpand, UINT nIdCollapse, COLORREF crTransparent = RGB(255,255,255));//插入新的项目HTREEITEM InsertItemEx(HTREEITEM hParent, LPCTSTR lpszItem, UINT nIdBitmap = 0, OLORREF crTransparent = RGB(255,255,255));HTREEITEM InsertItemEx(HTREEITEM hParent, LPCTSTR lpszItem, LPCTSTR lpszBitmap, COLORREF crTransparent = RGB(255,255,255));//开启横线void EnableRowLine( BOOL bEnable = TRUE );//是否开启横线BOOL IsEnableRowLine();//开启根节点背景void EnableRootBk( BOOL bEnable = TRUE );//是否开启根节点背景BOOL IsEnableRootBk();//获取某一项信息ITEM_MSG* GetItemMsg(HTREEITEM hItem); 第六步:绘制
控
件。需要的绘制函数如下: //绘制渐变色矩形区域void GradientFillRect( CDC *pDC, CRect &rect, COLORREF col_from, COLORREF col_to, bool vert_grad ); //绘制
控
件背景void DrawBackgroudBitmap(CDC* pDc); //绘制单元项void DrawItem( CDC* pDC ); //绘制单元项下部横线void DrawRowLine(CPoint ptBegin, CPoint ptEnd, CDC *pDc = NULL); //绘制展开收缩按钮void DrawExpand(CRect rect, int state,
SpringBoot项目实战+SpringCoud
本套课程主要是一系列Java项目课程,通过... Vue
树型
控
件 SpringCloud课程包含微服务开发的主要组件: 1. Eureka注册中心 2. Config配置中心 3. Zuul服务网关 4. Hystrix熔断器和Ribbon负载均衡 5.OpenFeign服务调用
CTreeCtrl
树型
控
件 自绘
挺不错的CTreeCtrl自绘类 找了很久才找到 含
滚动
条自绘 分享一下
实现树
控
件的拖动
Visual C++中提供的MFC类CtreeCtrl(
树型
控
件)用来
显示
具有一定层次结构的数据项时方便、直观,所以它已经被广泛地应用在各种软件中,如资源管理器中的磁盘目录就用的是
树型
控
件,我们在编程中也会经常用到这个
控
件,但是这个
控
件也有缺陷,那就是它并不直接支持拖动节点等高级特性,这使得程序员在编程时使用它受到了很大限制,同时又给软件用户带来了一些不便。为此,本实例通过从 CTreeCtrl 中派生了一个类 CXTreeCtrl ,实现
树型
控
件中节点的拖动。这个类具有如下的功能:⑴ 基本项目条拖动的实现;⑵ 处理项目条的无意拖动;⑶ 能处理项目条拖动过程中的
滚动
问题;⑷ 拖动过程中节点会智能展开。程序编译运行后的效果如图所示:
界面
15,979
社区成员
115,896
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章