CListCtrl::SetBkImage有Bug???

本文详细介绍了CListCtrl::SetBkImage函数的使用方法,包括参数解析及返回值说明,并通过示例代码展示了如何为ListView控件设置背景图片。

首先看下MSDN上对CListCtrl::SetBkImage的描述?

BOOL SetBkImage( LPTSTR pszUrl, BOOL fTile = TRUE, int xOffsetPercent = 0, int yOffsetPercent = 0 );

Return Value

Returns nonzero if successful, or zero otherwise.

Parameters

pszUrl  以‘\0’结尾的字符串(包含背景图片的绝对路径)

fTile  如果图片平铺在当前list view control的背景上,fTile=非零值(缺省值),否则fTile=0

xOffsetPercent

The offset, in pixels, of the image’s left edge, from origin of the list view control.

yOffsetPercent

 The offset, in pixels, of the image’s top edge, from origin of the list view control.


但是调用时,发现SetBkImage的绝对路径的名称写错了,其返回值还是真!!!

为了这个浪费了我几天一直怀疑是控件的设置错了。汗!!!!!

测试代码如下:

	BOOL ret = m_wndList.SetBkImage("F:/MFC/ListCtrl/33bk.bmp"/*图片绝对路径*/);
	if(ret){
		HANDLE HConsole;
		AllocConsole();
		HConsole=GetStdHandle(STD_OUTPUT_HANDLE);
		DWORD dw;
		CString str("SetBkImage successfully!");
		WriteConsole(HConsole,str.GetBuffer(),str.GetLength(),&dw,NULL);
		WriteConsole(HConsole,"\n",strlen("\n"),&dw,NULL);
	}

ps:

1. 平铺:就是把图片铺满桌面 ,因为一张图片可能不能占满整个桌面,就用几张图片铺满桌面。

2. 拉伸:就是把图片放大 ,让一张图片就占满桌面。

3. 居中:把图片放在桌面中间。


二元“=”: 没有找到接受“CString”类型的右操作数的运算符(或没有可接受的转换) 空初始值设定项对于带有未指定绑定的数组无效 “_AFXDLL”: 宏重定义 'CWinApp::Enable3dControls': CWinApp::Enable3dControls is no longer needed. You should remove this call. “CListCtrl::InsertColumn”: 没有重载函数可以转换所有参数类型 “CListCtrl::InsertColumn”: 没有重载函数可以转换所有参数类型 “CListCtrl::InsertColumn”: 没有重载函数可以转换所有参数类型 “CListCtrl::InsertColumn”: 没有重载函数可以转换所有参数类型 “CListCtrl::InsertColumn”: 没有重载函数可以转换所有参数类型 “CListCtrl::InsertColumn”: 没有重载函数可以转换所有参数类型 “BOOL CListCtrl::SetItemText(int,int,LPCTSTR)”: 无法将参数 3 从“const char [3]”转换为“LPCTSTR” “BOOL CListCtrl::SetItemText(int,int,LPCTSTR)”: 无法将参数 3 从“const char [3]”转换为“LPCTSTR” 二元“=”: 没有找到接受“CString”类型的右操作数的运算符(或没有可接受的转换) 二元“=”: 没有找到接受“CString”类型的右操作数的运算符(或没有可接受的转换) 二元“=”: 没有找到接受“CString”类型的右操作数的运算符(或没有可接受的转换) 二元“=”: 没有找到接受“CString”类型的右操作数的运算符(或没有可接受的转换) 二元“=”: 没有找到接受“CString”类型的右操作数的运算符(或没有可接受的转换) “int CWnd::MessageBoxW(LPCTSTR,LPCTSTR,UINT)”: 无法将参数 1 从“const char [15]”转换为“LPCTSTR” “int CWnd::MessageBoxW(LPCTSTR,LPCTSTR,UINT)”: 无法将参数 1 从“const char [15]”转换为“LPCTSTR” “int CWnd::MessageBoxW(LPCTSTR,LPCTSTR,UINT)”: 无法将参数 1 从“const char [15]”转换为“LPCTSTR”
最新发布
03-24
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值