为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

在树型控件中移动鼠标产生字体及颜色的变化

2017-09-01 2页 doc 13KB 13阅读

用户头像

is_014457

暂无简介

举报
在树型控件中移动鼠标产生字体及颜色的变化在树型控件中移动鼠标产生字体及颜色的变化 在Windows XP中资源管理器左侧显示目录树结构时,当在项目中移动鼠标的时候,项目标签 的文字的字体和颜色会产生 变化,使目录的选择非常醒目.本人在学习制作Windows98的资源管 理器的过程中,加入了相似的功能,其基本思路是:在 与TreeCtrl控件关联的类(CDirTreeCtrl) 中重载鼠标移动消息函数,设置相关的文本的颜色参数,在WM_PAINT消息映射 函数定义的设备 环境中改变逻辑字体属性(由LOGFONT结构描述)并使用设置的字体,达到项目字体变动的目的. 具...
在树型控件中移动鼠标产生字体及颜色的变化
在树型控件中移动鼠标产生字体及颜色的变化 在Windows XP中资源管理器左侧显示目录树结构时,当在项目中移动鼠标的时候,项目标签 的文字的字体和颜色会产生 变化,使目录的选择非常醒目.本人在学习制作Windows98的资源管 理器的过程中,加入了相似的功能,其基本思路是:在 与TreeCtrl控件关联的类(CDirTreeCtrl) 中重载鼠标移动消息函数,设置相关的文本的颜色参数,在WM_PAINT消息映射 函数定义的设备 环境中改变逻辑字体属性(由LOGFONT结构描述)并使用设置的字体,达到项目字体变动的目的. 具体内 容如下: 1>.在CDirTreeCtrl的头文件中定义以下变 量: HTREEITEM hItem_bc; //存放检测项目的句柄 COLORREF ItemText_OldColor; //存放系统初始字体颜色参数,在类的初始化函数中赋值 LOGFONT logfont_old; //存放系统初始逻辑字体属性,在类的初始化函数中赋值 struct Color_Font { COLORREF color; LOGFONT logfont; } CMap m_mapColorFont; 2>.重载鼠标移动消息函数: void CDirTreeCtrl::OnMouseMove(UINT nFlags, CPoint point) { CRect rc; TVHITTESTINFO tvInfo; tvInfo.pt=point; HTREEITEM hItem=HitTest(&tvInfo); //获得光标进入的项目的句柄 GetItemRect(hItem,&rc,TRUE); BOOL yn=rc.PtInRect(point); Color_Font cf; if(yn) { //光标进入项目标签 cf.color=RGB(0,0,150); //设置项目文本需改变的颜色参数 SetCursor(hIcon_sx); //设置手形光标,hIcon_sx为光标的句柄 hItem_bc=hItem; } else { cf.color=ItemText_OldColor; } m_mapColorFont[hItem]=cf; if(!m_mapColorFont.Lookup(hItem,cf)) cf.color=(COLORREF)-1; m_mapColorFont[hItem]=cf; Invalidate(FALSE); //强制执行OnPaint() CTreeCtrl::OnMouseMove(nFlags, point); }
/
本文档为【在树型控件中移动鼠标产生字体及颜色的变化】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索