社区
界面
帖子详情
200分求CListCtrl显示缩略图功能
hnzlk
2009-11-28 12:50:15
要求:1.只显示一行图片,可向后滚动,图片多的时候出现水平滚动条。
2.可随listctrl高度的变化,缩略图自动居中显示.
目前在不出现滚动条的情况下,也就是图片数量比较少的时候,已经实现如上功能。
...全文
245
15
打赏
收藏
200分求CListCtrl显示缩略图功能
要求:1.只显示一行图片,可向后滚动,图片多的时候出现水平滚动条。 2.可随listctrl高度的变化,缩略图自动居中显示. 目前在不出现滚动条的情况下,也就是图片数量比较少的时候,已经实现如上功能。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xundeng
2009-12-03
打赏
举报
回复
设置ITEM位置之前用
this->SetRedraw(FALSE); 进行锁定,
所有的设置完成之后,再用this->SetRedraw(TRUE);进行解锁。
hnzlk
2009-11-30
打赏
举报
回复
顶!
hnzlk
2009-11-30
打赏
举报
回复
还有,如果在onpaint中,第一个item总是无法正确的绘出焦点,其实已经绘了,把其它窗口盖上去,再移开,就能看到。这是怎么回事呢?
hnzlk
2009-11-30
打赏
举报
回复
顶!
hnzlk
2009-11-30
打赏
举报
回复
就是显示出来的item位置不正确,也就是GetItemRect()的位置也不正确。可以下源码看看。
wwgddx
2009-11-30
打赏
举报
回复
[Quote=引用 6 楼 hnzlk 的回复:]
我codeproject所有的关于listctrl的文章都看过了。如果用listctrl正常的显示,比如多行多例,好像是没有问题,如果只显示一行,而且图片比较多的话,用SetItemPosition(),Arrange()。。当出现滚动条的时候,似乎都不管用了。
其实显示缩略图也很简单,无非是用cimagelist绑定一下listctrl,在onpain或者oncustomdraw里面,GetItemRect()绘进行绘制,但我现在更重要的是,这个Rect不对,让我的item总是会居中显示,这里有些问题,不知道是不是我处理的不够好,还是忽略了某些小细节,希望得到牛人们的指点,感激不尽。注:没有滚动条的时候,显示完好。
[/Quote]
你的意思是GetItemRect()在有水平滚动条的时候得到的RECT不正确?就是这一个问题吧.
hnzlk
2009-11-30
打赏
举报
回复
[Quote=引用 8 楼 m_s_d_n 的回复:]
没有代码,具体错误原因都不好说啦。
引用 6 楼 hnzlk 的回复:
我codeproject所有的关于listctrl的文章都看过了。如果用listctrl正常的显示,比如多行多例,好像是没有问题,如果只显示一行,而且图片比较多的话,用SetItemPosition(),Arrange()。。当出现滚动条的时候,似乎都不管用了。
其实显示缩略图也很简单,无非是用cimagelist绑定一下listctrl,在onpain或者oncustomdraw里面,GetItemRect()绘进行绘制,但我现在更重要的是,这个Rect不对,让我的item总是会居中显示,这里有些问题,不知道是不是我处理的不够好,还是忽略了某些小细节,希望得到牛人们的指点,感激不尽。注:没有滚动条的时候,显示完好。
[/Quote]
http://www.hnzlk.com/down/Draw_Thumbnail.rar
源码已上传,还望高手们给分析分析!
M_S_D_N
2009-11-30
打赏
举报
回复
没有代码,具体错误原因都不好说啦。
[Quote=引用 6 楼 hnzlk 的回复:]
我codeproject所有的关于listctrl的文章都看过了。如果用listctrl正常的显示,比如多行多例,好像是没有问题,如果只显示一行,而且图片比较多的话,用SetItemPosition(),Arrange()。。当出现滚动条的时候,似乎都不管用了。
其实显示缩略图也很简单,无非是用cimagelist绑定一下listctrl,在onpain或者oncustomdraw里面,GetItemRect()绘进行绘制,但我现在更重要的是,这个Rect不对,让我的item总是会居中显示,这里有些问题,不知道是不是我处理的不够好,还是忽略了某些小细节,希望得到牛人们的指点,感激不尽。注:没有滚动条的时候,显示完好。
[/Quote]
dengzhixing
2009-11-30
打赏
举报
回复
顶起
hnzlk
2009-11-29
打赏
举报
回复
我codeproject所有的关于listctrl的文章都看过了。如果用listctrl正常的显示,比如多行多例,好像是没有问题,如果只显示一行,而且图片比较多的话,用SetItemPosition(),Arrange()。。当出现滚动条的时候,似乎都不管用了。
其实显示缩略图也很简单,无非是用cimagelist绑定一下listctrl,在onpain或者oncustomdraw里面,GetItemRect()绘进行绘制,但我现在更重要的是,这个Rect不对,让我的item总是会居中显示,这里有些问题,不知道是不是我处理的不够好,还是忽略了某些小细节,希望得到牛人们的指点,感激不尽。注:没有滚动条的时候,显示完好。
wfx_net
2009-11-28
打赏
举报
回复
reference to SetIconSpacing function.
写不动代码的人
2009-11-28
打赏
举报
回复
http://www.codeproject.com/KB/list/
自己找找
xwsn007
2009-11-28
打赏
举报
回复
MARK,帮顶!
Dingnifei123
2009-11-28
打赏
举报
回复
http://www.codeproject.com/KB/combobox/ThumbsViewer.aspx
看看韩国鬼子写的这个,
应该可以满足你了~
:)
hnzlk
2009-11-28
打赏
举报
回复
顶!
Listcontrol
缩略图
显示
功能
的实现
该工程是一个利用MFC listcontrol 控件实现的
缩略图
显示
功能
,注意 要使用bmp图像
CLi
stCtrl
实现
缩略图
并具备点击查看全图
功能
1.声明一个CImagelist和
CLi
stCtrl
对象 CImagelist* pImageList = new CImageList;
CLi
stCtrl
* m_Li
stCtrl
; 2.pImageList->Create(PicWidth,PicHeight, ILC_COLOR32, PicNum, 0); m_Li
stCtrl
.SetImageList(pI
MFC
CLi
stCtrl
图片列表并添加背景图片
MFC
CLi
stCtrl
显示
图片模式需要关联CImageList,并且增加背景图片(抓狂三天,比网上自绘完美) 头文件定义 CImageList* ListImages;
CLi
stCtrl
*ListIcons; CPP 初始化列表 CRect rect; Get
Cli
entRect(&rect); rect.left = 0; //zp 20160930 rect.top ...
CLi
stCtrl
控件
功能
扩展总结
最近需要开发一个
功能
丰富的
CLi
stCtrl
控件(report样式),包括自定义表头、背景、文字颜色、行高、加载
缩略图
、ToolTip、拖拽、加载进度条控件、排序等
功能
。在MFC的框架中,采用继承
CLi
stCtrl
子类的实现方式应该是一种比较简单有效的方法,这样就不可避免的涉及到控件自绘技术,和一些GDI+技术。本文主要对控件自绘中的一些问题进行总结。 一、所有者绘制(owner
MFC控件--
CLi
stCtrl
2
以下未经说明,li
stctrl
默认view 风格为report
1.
CLi
stCtrl
风格
LVS_ICON: 为每个item
显示
大图标
LVS_SMALLICON: 为每个item
显示
小图标
LVS_LIST:
显示
一列带有小图标的item
LVS_REPORT:
显示
item详细资料
直观的理解:windows资源管理器,“查看”标签下的“大图标,小图标,列表,详细资料
界面
15,979
社区成员
115,896
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章