社区
Symbian
帖子详情
请问S60下CEikEdwin如何显示边框
toann
2006-03-15 06:06:57
如题,期待答复^_^
...全文
406
7
打赏
收藏
请问S60下CEikEdwin如何显示边框
如题,期待答复^_^
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
toann
2006-03-21
打赏
举报
回复
同样感谢Ordie(ordie)^_^
Ordie
2006-03-20
打赏
举报
回复
这个问题我也折腾了一阵子,到现在也没有完美的解决办法,不知道symbian是怎么设计的,给控件加个边框都这么麻烦。现在想到的办法有两个:
1 在编辑控件所在的container类的draw中画边框,这个是万能的方法,所谓万能就是
这种方法其实和控件根本没关系,所以不论什么控件都可以用这种方法,不过个人
觉得比较土。
2 自己写一个类继承CEikEdwin,重写它的虚函数draw,但我这么写的时候发现,在自己
的draw函数中,必须先调用父类的draw,然后再画自己的边框才能显示,如果不调父类
的draw,那么画边框的代码似乎就不起作用!?而且调用父类的draw必须在函数的开头,
而不能先画自己的边框,再调父类的draw。你自己可以试一试,但这种方法不是对所有
editor控件都好用,比如密码输入控件CEikSecretEditor这招就不灵。但其实
CEikSecretEditor这个控件本身就有边框,根本不用自己画,而且可以通过SetBorder
设置边框风格,可是匪夷所思的是,CEikEdwin用SetBorder就没用,也不知道是怎么回事。
个人觉得既然都是CEik打头的控件,对于SetBorder应该有一致的行为,即便SetBorder
不是所有的地方都好用,也应该提供用户重写draw函数的机会,但关键是行为要一致。
我觉得微软在这方面做得就比较好。不过也可能是我的用法不当,所以才画不出来吧,
不知道大家怎么想。
chenziteng
2006-03-20
打赏
举报
回复
S60中的CEikEdwin::SetBorder()的确不起作用,这不是Symbian的错,是Nokia的错。
土就土吧,能用得了:)
chenziteng
2006-03-16
打赏
举报
回复
上面的代码在SDK 1.2下有效,高版本的SDK里edwin似乎大了,画的时候也应该把border扩大一点儿:
void CMyContainer::Draw(const TRect& aRect) const
{
CWindowGc& gc = SystemGc();
TRect rect(iEdwin->Rect());
rect.Shrink(-1, -1);
gc.DrawRect(rect);
}
toann
2006-03-16
打赏
举报
回复
十分感谢子腾大哥不厌其烦的回复我的邮件,我是想给一个白色的Editor加一个黑色的边^_^
toann
2006-03-16
打赏
举报
回复
唉,感叹子腾大哥的耐心啊!!结帖加分^_^
chenziteng
2006-03-15
打赏
举报
回复
只能自己画。
示例:
void CMyContainer::Draw(const TRect& aRect) const
{
CWindowGc& gc = SystemGc();
gc.DrawRect(iEdwin->Rect());
}
为
CEikEd
win
绘制标准
边框
CS000862 开发伙伴平台:
S60
3rd Edition, MR
S60
3rd Edition, FP1
S60
3rd Edition, FP2 Beta 详细描述下列代码片段演示了如何在
CEikEd
win
周围画上标准
边框
。同行的方法可以运用在所有从CEikBorderControl派生...
为
CEikEd
win
绘制标准
边框
(转)
[经验分享]为
CEikEd
win
绘制标准
边框
开发伙伴平台:
S60
3rd Edition, MR
S60
3rd Edition, FP1
S60
3rd Edition, FP2 Beta详细描述下列代码片段演示了如何在
CEikEd
win
周围画上标准
边框
。同行的方法可以运用在所有从...
【转】为
CEikEd
win
绘制标准
边框
(Symbian_3rd)
http://wiki.forum.nokia.com/index.php/%E4%B8%BA
CEikEd
win
%E7%BB%98%E5%88%B6%E6%A0%87%E5%87%86%E8%BE%B9%E6%A1%86 开发伙伴平台:
S60
3rd Edition, MR
S60
3rd Edition, FP1
S60
3rd Edition, FP2 Beta
【转】Symbian 开发提示(2)
如何枚举出正在运行的App ... RApaLsSession: GetAppIcon() GetAppInfo() TApaTaskList: FindApp() 从收件箱读取彩信图片 mmslist实现了首先以listbox列表的形式列出了收件箱中的所以彩信,选择某一条彩信后可以
显示
Symbian 开发的一些小技巧(来自程凯的博客)
GetAppIcon()GetAppInfo()TApaTaskList:FindApp()从收件箱读取彩信图片mmslist实现了首先以listbox列表的形式列出了收件箱中的所以彩信,选择某一条彩信后可以
显示
出它的发送端号码和彩信的文本信息;现在我想让它显
Symbian
3,119
社区成员
9,186
社区内容
发帖
与我相关
我的任务
Symbian
塞班系统(Symbian系统)是塞班公司为手机而设计的操作系统,它的前身是英国宝意昂公司的 EP ( Electronic Piece of cheese)操作系统。
复制链接
扫一扫
分享
社区描述
塞班系统(Symbian系统)是塞班公司为手机而设计的操作系统,它的前身是英国宝意昂公司的 EP ( Electronic Piece of cheese)操作系统。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章