首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

Listview背景图有关问题(comctl5怎么从picturebox中读入背景)

2012-01-14 
在线等Listview背景图问题(comctl5如何从picturebox中读入背景)最近分数紧张,请各位高手先多多包涵……最近

在线等Listview背景图问题(comctl5如何从picturebox中读入背景)
最近分数紧张,请各位高手先多多包涵……

最近用common   control   5里面的listview(comctl32.ocx),在加背景图的时候发现一个麻烦的问题:

我现在用的是这个方法:


http://flyersim.com.ne.kr/code/comctl/lvbackground.htm
或者直接下载测试源代码:
http://www.ayang365.com/files/listviewbg.rar


用这个方法添加:
      Call   SendMessage(ListView1.hWnd,   _
                                        LVM_SETBKIMAGE,   _
                                        0&,   BKIMG)

但是有个问题,这个只能添加URL或者硬盘绝对路径的图片文件吗?可不可以利用hbmp来把picturebox里面的图像加载到listview背景中去呢?因为我看到BKIMG的结构声明里这样写的:
Private   Type   LVBKIMAGE
      uFlags   As   Long
      hBmp   As   Long
      pszImage   As   String
      cchImageMax   As   Long
      xOffsetPercent   As   Long
      yOffsetPercent     As   Long
End   Type

注意:一定要用common   ctl   5.0,不考虑换成6.0的问题。

等过段时间有更多分了,一定给各位补上,先谢谢了!

[解决办法]
LVBKIF_SOURCE_HBITMAP
A background bitmap is supplied via the hbm member of LVBKIMAGE. If the message LVM_SETBKIMAGE succeeds, then the list-view takes ownership of the bitmap.

hbm
The handle of the background bitmap. This member is valid only if the LVBKIF_SOURCE_HBITMAP flag is set in ulFlags.

http://vbnet.mvps.org/index.html?code/comctl/lvbackground.htm
[解决办法]
你只有一个三角,貌似最多100吧...
[解决办法]
请别绕路,不需内存位图。
picturebox.picture.handle就是你要的hbmp
若是自绘的图就用
picturebox.image.handle

uFlags成员加上LVBKIF_SOURCE_HBITMAP标志,就可用hbmp了
[解决办法]
看起来问题似乎应该可以解决了,但是,遗憾的是,似乎LVBKIF_SOURCE_HBITMAP不被common control 5里面的listview所支持 要是确实想解决这个问题的话,不妨尝试自绘listview
[解决办法]
http://www.kidmoses.com/components/watermark.html
Delphi的,很详细。我曾经就是看这个实现的。

热点排行