listview如何设置背景图片

god_sun 2009-11-11 11:19:29

m_hWndList = CreateWindow(WC_LISTVIEW, NULL,
WS_CHILD | WS_VISIBLE | LVS_ICON | LVS_EDITLABELS ,
rcl.left, rcl.top, rcl.right - rcl.left, (rcl.bottom - rcl.top),
m_MainDialog, (HMENU)ID_LISTVIEW, hInst,NULL);

if (m_hWndList == NULL )
return NULL;

.....
添加图标
.....
LVBKIMAGE lbi;
lbi.ulFlags = LVBKIF_SOURCE_HBITMAP | LVBKIF_STYLE_NORMAL;
lbi.pszImage = L"res\\bg.jpg";
lbi.cchImageMax=sizeof(L"res\\bg.jpg");
lbi.xOffsetPercent=15;
lbi.yOffsetPercent=15;
ListView_SetBkImage (m_hWndList, &lbi);

总是显示不出来
...全文
297 点赞 收藏 10
写回复
10 条回复
yihan7h 2009年11月11日
[Quote=引用 1 楼 philypan 的回复:]
1.mobile不支持相对路径
2.lbi.pszImage = L"res\\bg.jpg";  这个应该需要是mobile上的路径
3.没时间帮你试,其他我也不知道,呵呵!!记得以前我是子类化listview后自己画背景的,不然滚到的时候好像会把背景拖成一条条的.....
[/Quote]
路径是可以的,默认是在exe同级目录
最后一点赞同,一般是子类化,自己画。。
回复 点赞
philypan 2009年11月11日
1.mobile不支持相对路径
2.lbi.pszImage = L"res\\bg.jpg"; 这个应该需要是mobile上的路径
3.没时间帮你试,其他我也不知道,呵呵!!记得以前我是子类化listview后自己画背景的,不然滚到的时候好像会把背景拖成一条条的.....
回复 点赞
philypan 2009年11月11日
从MSDN上看到:LVBKIF_SOURCE_URL This flag is not supported
pszImage
Address of a NULL-terminated string that contains the URL of the background image. This member is only valid if the LVBKIF_SOURCE_URL flag is set in ulFlags. This member must be initialized to point to the buffer that contains or receives the text before sending the message.


楼主的代码:
lbi.ulFlags = LVBKIF_SOURCE_HBITMAP | LVBKIF_STYLE_NORMAL;
lbi.pszImage = L"res\\bg.jpg";
所以,错误1.首先source的flags和pszImage不对应
2.按MSDN描述,估计需要用HBITMAP
回复 点赞
god_sun 2009年11月11日
请教代码
回复 点赞
dina656 2009年11月11日
自绘么,就自己贴图上去了,没有什么加载不加载。
回复 点赞
god_sun 2009年11月11日
[Quote=引用 5 楼 dina656 的回复:]
自绘吧,想怎么搞就这么搞,Windows Mobile 6 SDK\Samples\Common\CPP\Win32\OwnerListView例子。
[/Quote]
还是没有看到加载背景的地方
回复 点赞
god_sun 2009年11月11日
[Quote=引用 4 楼 jiangyongtao 的回复:]
引用 3 楼 god_sun 的回复:
ls2为朋友,现在我的listview不需要滚动,它只显示几个应用图标,请问如何加载图片背景。
另外,手机上是支持相对路径的,我程序的主窗口背景都是加载的相对路径。

既然不需要滚动,只显示几个图标,那建议用几个ImageButton代替listview不可以么。
实现好的Imagebutton很好找,这样就回避了自定义listview这个棘手的问题。
[/Quote]
谢谢提供方法,现在整体框架也打好了,,listview图标也都显示出来了,改动button也很麻烦,也很想知道listview背景图的解决办法,ListView_SetBkImage总有用吧~
回复 点赞
dina656 2009年11月11日
自绘吧,想怎么搞就这么搞,Windows Mobile 6 SDK\Samples\Common\CPP\Win32\OwnerListView例子。
回复 点赞
世外涛缘 2009年11月11日
[Quote=引用 3 楼 god_sun 的回复:]
ls2为朋友,现在我的listview不需要滚动,它只显示几个应用图标,请问如何加载图片背景。
另外,手机上是支持相对路径的,我程序的主窗口背景都是加载的相对路径。
[/Quote]
既然不需要滚动,只显示几个图标,那建议用几个ImageButton代替listview不可以么。
实现好的Imagebutton很好找,这样就回避了自定义listview这个棘手的问题。
回复 点赞
god_sun 2009年11月11日
ls2为朋友,现在我的listview不需要滚动,它只显示几个应用图标,请问如何加载图片背景。
另外,手机上是支持相对路径的,我程序的主窗口背景都是加载的相对路径。
回复 点赞
发动态
发帖子
Windows客户端开发
创建于2007-08-27

6823

社区成员

1.8w+

社区内容

Windows Phone是微软发布的一款手机操作系统,它将微软旗下的Xbox LIVE游戏、Zune音乐与独特的视频体验整合至手机中。
社区公告
暂无公告