| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
学习型 ASP/PHP/ASP.NET 主机 35元/年全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付
赛孚耐:软件保护加密专家身份认证令牌USB KEY  
共有 887 人关注过本帖
标题:关于OnDrawItem
收藏  订阅  推荐  打印 
Janlex
Rank: 3Rank: 3
等级:中级会员
威望:6
帖子:303
积分:3198
注册:2006-9-12
关于OnDrawItem

问题一:

写一个新类,基于CButton,新类CNewButton生成后不做任何改变

建一按钮, 指明是CNewButton的对象.

把按钮改成所有者绘制, 编译可以通过, 运行就出错... 为什么啊?




问题二:

最近需要一个控件, 类似于CListBox, 所以一直在研究OnDrawItem

写listBox新类, 重载OnDrawItem, 比如
CDC dc;
dc.Attach(lpDrawItemStruct->hDC);
CRect rect;
rect = lpDrawItemStruct->rcItem;
dc.DrawText("aaaaaaa", &rect, 0);

但把listbox控件属性 所有者绘制改成"固定"后, 只有在这个listBox上点击鼠标左键才会变成自己画的样子.
把所有者绘制改成"可变"后, 直接不用自己的OnDrawItem绘制..不管你怎么样
这又是为什么? 有没有办法让他刷新时就绘制.

[此贴子已经被作者于2007-9-14 1:46:09编辑过]

搜索更多相关主题的帖子: OnDrawItem  rect  CDC  CNewButton  按钮  
2007-9-14 01:45
maoguoqing
Rank: 12Rank: 12Rank: 12
来自:重庆
等级:贵宾
威望:27
帖子:2967
积分:30101
注册:2005-12-5

1。派生新的控件类,如果属性设置为自绘的话就必须重载DrawItem,否则就会运行时错误

2。不重载OnDrawItem,你重载DrawItem试一下

天行健,君子以自强不息!!
2007-9-14 12:41
Janlex
Rank: 3Rank: 3
等级:中级会员
威望:6
帖子:303
积分:3198
注册:2006-9-12

1, 如楼上, 我重载了, 也会出错.

2, ???什么意思啊

★★★★★欢迎光临我的博客 ★★★★★
http://www.ozd.cn
2007-9-14 14:21
maoguoqing
Rank: 12Rank: 12Rank: 12
来自:重庆
等级:贵宾
威望:27
帖子:2967
积分:30101
注册:2005-12-5

不知道你是否重写成功,这个我用过多次,是不会运行时错误的。
自己绘制控件不是重写OnDrawItem而是重写DrawItem,你试试重写DrawItem

[此贴子已经被作者于2007-9-14 15:22:47编辑过]


天行健,君子以自强不息!!
2007-9-14 15:15
Janlex
Rank: 3Rank: 3
等级:中级会员
威望:6
帖子:303
积分:3198
注册:2006-9-12

那把listbox控件属性 所有者绘制改成"固定" 还是"可变"   分别什么时候用呢?

★★★★★欢迎光临我的博客 ★★★★★
http://www.ozd.cn
2007-9-14 16:57
maoguoqing
Rank: 12Rank: 12Rank: 12
来自:重庆
等级:贵宾
威望:27
帖子:2967
积分:30101
注册:2005-12-5

这个你应该看MSDN

天行健,君子以自强不息!!
2007-9-14 17:02
Janlex
Rank: 3Rank: 3
等级:中级会员
威望:6
帖子:303
积分:3198
注册:2006-9-12

告诉我嘛.谢谢

★★★★★欢迎光临我的博客 ★★★★★
http://www.ozd.cn
2007-9-15 01:17
ydq1
Rank: 1
等级:新手上路
帖子:14
积分:240
注册:2007-9-18

楼上的 你现在工作了吗?是靠这个吃饭吗?

2007-9-19 22:03
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.078501 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved