社区
Symbian
帖子详情
自定义ListBox选中某一行之后高亮的问题
我是一个小胖子
2009-12-24 03:39:27
自定义ListBox的字体颜色,和字体高亮之后的颜色都能获得系统的了。
可是 listbox 的某一行被选中之后 覆盖这行的颜色和其它行的不一样了 我想让这行颜色也是系统的 怎么获得? 不知道我表达的清楚不?
...全文
416
6
打赏
收藏
自定义ListBox选中某一行之后高亮的问题
自定义ListBox的字体颜色,和字体高亮之后的颜色都能获得系统的了。 可是 listbox 的某一行被选中之后 覆盖这行的颜色和其它行的不一样了 我想让这行颜色也是系统的 怎么获得? 不知道我表达的清楚不?
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
我是一个小胖子
2010-01-08
打赏
举报
回复
[Quote=引用 5 楼 arthersophy 的回复:]
给你一段系统画高亮的代码,实际上就是用了几张图。。
MAknsSkinInstance* skin = AknsUtils::SkinInstance ();
TRect tl = GetRect(aOuterRect.iTl, rect.iTl);
TRect tr = GetRect(TPoint(aOuterRect.iBr.iX, aOuterRect.iTl.iY), TPoint(rect.iBr.iX, rect.iTl.iY));
TRect bl= GetRect(TPoint(aOuterRect.iTl.iX, aOuterRect.iBr.iY), TPoint(rect.iTl.iX, rect.iBr.iY));
TRect br= GetRect(aOuterRect.iBr, rect.iBr);
TRect top= GetRect(tl.iBr, tr.iTl);
TRect bottom= GetRect(bl.iBr, br.iTl);
TRect left= GetRect(tl.iBr, bl.iTl);
TRect right= GetRect(tr.iBr, br.iTl);
AknsDrawUtils::DrawFrame(skin, aGc, tl, tl, KAknsIIDQsnFrList, KAknsIIDQsnFrListCornerTl);
AknsDrawUtils::DrawFrame(skin, aGc, tr, tr, KAknsIIDQsnFrList, KAknsIIDQsnFrListCornerTr);
AknsDrawUtils::DrawFrame(skin, aGc, bl, bl, KAknsIIDQsnFrList, KAknsIIDQsnFrListCornerBl);
AknsDrawUtils::DrawFrame(skin, aGc, br, br, KAknsIIDQsnFrList, KAknsIIDQsnFrListCornerBr);
AknsDrawUtils::DrawFrame(skin, aGc, top, top, KAknsIIDQsnFrList, KAknsIIDQsnFrListSideT);
AknsDrawUtils::DrawFrame(skin, aGc, bottom, bottom, KAknsIIDQsnFrList, KAknsIIDQsnFrListSideB);
AknsDrawUtils::DrawFrame(skin, aGc, left, left, KAknsIIDQsnFrList, KAknsIIDQsnFrListSideL);
AknsDrawUtils::DrawFrame(skin, aGc, right, right, KAknsIIDQsnFrList, KAknsIIDQsnFrListSideR);
AknsDrawUtils::DrawFrame(skin, aGc, rect, rect, KAknsIIDQsnFrList, KAknsIIDQsnFrListCenter);
[/Quote]
aOuterRect rect分别是什么啊?
我是一个小胖子
2010-01-07
打赏
举报
回复
[Quote=引用 3 楼 yushao_rong 的回复:]
你可以在Draw函数里做判断呀,当某一项为焦点时把颜色设成系统的就OK了
[/Quote]
我就是不知道怎么获得系统那个高亮颜色是什么?怎么获得?
柯枫
2010-01-07
打赏
举报
回复
你可以在Draw函数里做判断呀,当某一项为焦点时把颜色设成系统的就OK了
我是一个小胖子
2010-01-07
打赏
举报
回复
我都是自定义的,不是用的系统的,我感觉是获取颜色,但是不知道怎么获取。就像获取系统字体颜色一样。
漁_夫
2010-01-07
打赏
举报
回复
给你一段系统画高亮的代码,实际上就是用了几张图。。
MAknsSkinInstance* skin = AknsUtils::SkinInstance ();
TRect tl = GetRect(aOuterRect.iTl, rect.iTl);
TRect tr = GetRect(TPoint(aOuterRect.iBr.iX, aOuterRect.iTl.iY), TPoint(rect.iBr.iX, rect.iTl.iY));
TRect bl= GetRect(TPoint(aOuterRect.iTl.iX, aOuterRect.iBr.iY), TPoint(rect.iTl.iX, rect.iBr.iY));
TRect br= GetRect(aOuterRect.iBr, rect.iBr);
TRect top= GetRect(tl.iBr, tr.iTl);
TRect bottom= GetRect(bl.iBr, br.iTl);
TRect left= GetRect(tl.iBr, bl.iTl);
TRect right= GetRect(tr.iBr, br.iTl);
AknsDrawUtils::DrawFrame(skin, aGc, tl, tl, KAknsIIDQsnFrList, KAknsIIDQsnFrListCornerTl);
AknsDrawUtils::DrawFrame(skin, aGc, tr, tr, KAknsIIDQsnFrList, KAknsIIDQsnFrListCornerTr);
AknsDrawUtils::DrawFrame(skin, aGc, bl, bl, KAknsIIDQsnFrList, KAknsIIDQsnFrListCornerBl);
AknsDrawUtils::DrawFrame(skin, aGc, br, br, KAknsIIDQsnFrList, KAknsIIDQsnFrListCornerBr);
AknsDrawUtils::DrawFrame(skin, aGc, top, top, KAknsIIDQsnFrList, KAknsIIDQsnFrListSideT);
AknsDrawUtils::DrawFrame(skin, aGc, bottom, bottom, KAknsIIDQsnFrList, KAknsIIDQsnFrListSideB);
AknsDrawUtils::DrawFrame(skin, aGc, left, left, KAknsIIDQsnFrList, KAknsIIDQsnFrListSideL);
AknsDrawUtils::DrawFrame(skin, aGc, right, right, KAknsIIDQsnFrList, KAknsIIDQsnFrListSideR);
AknsDrawUtils::DrawFrame(skin, aGc, rect, rect, KAknsIIDQsnFrList, KAknsIIDQsnFrListCenter);
connect_007
2009-12-24
打赏
举报
回复
在appui的ConstructL方法中调用
{
BaseConstructL(EAknEnableSkin);
}
就可以了。
Remix UI 无头
listbox
原语:受控
选中
与
高亮
的完整实现指南
本文详解Remix UI中无头
listbox
原语的受控
选中
与
高亮
机制,涵盖API核心(
Listbox
ProviderProps、
Listbox
Ref)、键盘导航、typeahead输入搜索、禁用项处理、flashSelection闪烁反馈及焦点滚动行为。重点解析其在select/combobox中的复用原理,并强调回调先行、DOM后行的严格受控模型,适用于
自定义
下拉组件开发与行为内核理解。
C#
自定义
重绘
ListBox
控件实战详解(含源码)
本文详细介绍如何通过继承
ListBox
并重写OnPaint方法实现控件的
自定义
重绘,涵盖了图形绘制、颜色字体定制、性能优化及鼠标交互处理等核心技术。文章提供了完整的源代码,包含动画效果与
选中
项样式优化,适用于提升桌面应用界面美观性与用户体验。
WPF
ListBox
修改鼠标悬停颜色和
选中
状态颜色
本文介绍如何在WPF中修改
ListBox
Item的样式,以实现鼠标悬停和
选中
时的颜色变化,通过定义ItemContainerStyle并重置背景和前景颜色。
《Windows API每日一练》8.5
listbox
控件
本文围绕Windows API中
Listbox
控件展开,介绍了其分类、样式、操作等知识。如可通过CreateWindow等函数创建,用LB_ADDSTRING等消息进行添加项等操作。还给出两个实例,ENVIRON.C将环境变量添加到列表框并显示值,HEAD.C在列表框列出文件和目录,可显示文件内容。
[WPF]
ListBox
示范
本文介绍如何使用WPF创建带有
自定义
颜色背景和文本样式的
ListBox
Item,并实现
选中
项的
高亮
效果。
Symbian
3,119
社区成员
9,182
社区内容
发帖
与我相关
我的任务
Symbian
塞班系统(Symbian系统)是塞班公司为手机而设计的操作系统,它的前身是英国宝意昂公司的 EP ( Electronic Piece of cheese)操作系统。
复制链接
扫一扫
分享
社区描述
塞班系统(Symbian系统)是塞班公司为手机而设计的操作系统,它的前身是英国宝意昂公司的 EP ( Electronic Piece of cheese)操作系统。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章