社区
Symbian
帖子详情
自定义ListBox选中某一行之后高亮的问题
我是一个小胖子
2009-12-24 03:39:27
自定义ListBox的字体颜色,和字体高亮之后的颜色都能获得系统的了。
可是 listbox 的某一行被选中之后 覆盖这行的颜色和其它行的不一样了 我想让这行颜色也是系统的 怎么获得? 不知道我表达的清楚不?
...全文
415
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);
}
就可以了。
C#
自定义
重绘
ListBox
控件实战详解(含源码)
在现代Windows Forms应用程序开发中,界面的个性化与视觉表现力已成为用户体验的重要组成部分。尽管.NET Framework提供的标准控件如
ListBox
功能完整、稳定性高,但其默认外观受限于操作系统原生绘制逻辑,难以满足对UI设计有更高要求的应用场景。为了突破这一限制,开发者需要通过继承并扩展标准控件类,实现完全自主的绘制流程。本章将系统性地讲解如何从零构建一个可高度定制的
自定义
ListBox
控件,重点聚焦于控件类的继承结构、双缓冲配置、以及核心的OnPaint方法重写机制。
WPF
ListBox
修改鼠标悬停颜色和
选中
状态颜色
WPF
ListBox
修改鼠标悬停颜色和
选中
状态颜色
[WPF]
ListBox
示范
[WPF]
ListBox
示范
《Windows API每日一练》8.5
listbox
控件
在上述示例中,我们首先获取列表框控件的句柄 h
ListBox
,然后使用 LB_ADDSTRING 消息或
ListBox
_AddString 函数将字符串项添加到列表框中。要选择列表框中的项目并提取
选中
的项目,你可以使用 LB_GETCURSEL 消息或
ListBox
_GetCurSel 函数来获取当前
选中
项目的索引。●WM_COMMAND:列表框的选择变化会触发 WM_COMMAND 消息,其中的 wParam 参数指示了列表框的控件标识符,而 lParam 参数指示了列表框控件的句柄。
自定义
ListBox
控件:VB风格升级
本文还有配套的精品资源,点击获取 简介:本控件提供了比Visual Basic自带
ListBox
控件更漂亮的外观和更丰富的交互效果。开发者可以修改源码以满足特定的应用需求,提升软件的用户体验。
自定义
功能包括样式定制、动画效果、扩展功能以及性能优化。压缩包内包含的VB源码文件为开发者提供了学习和
自定义
控件的机会。 1.
ListBox
控件样式定制化 在用户界面设计...
Symbian
3,119
社区成员
9,182
社区内容
发帖
与我相关
我的任务
Symbian
塞班系统(Symbian系统)是塞班公司为手机而设计的操作系统,它的前身是英国宝意昂公司的 EP ( Electronic Piece of cheese)操作系统。
复制链接
扫一扫
分享
社区描述
塞班系统(Symbian系统)是塞班公司为手机而设计的操作系统,它的前身是英国宝意昂公司的 EP ( Electronic Piece of cheese)操作系统。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章