ListView背景图如何随ListView本身大小变化而自动缩放? ListView背景图如何随ListView本身大小变化而自动缩放? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 先调用getdc获得listview的DC,然后调用listview.picture.Render(注意变量的类型),最后 ReleaseDC 先谢谢 rainstormmaster(暴风雨 v2.0) !现在我先利用 Image控件加载图片,由于Image控件可以很容易的设置图片随控件大小自动缩放。然后将listview的背景图片设置为Image控件的图片。代码如下:Private Sub Form_Resize() With Me.ListView1 .Move Me.ScaleLeft, Me.ScaleTop, Me.ScaleWidth, Me.ScaleHeight Image1.Move Me.ScaleLeft, Me.ScaleTop, Me.ScaleWidth, Me.ScaleHeight Dim lRet As Long lRet = GetDC(.hwnd) .Picture.Render lRet, 0, 0, .Width, .Height, Image1.Left, Image1.Top, Image1.Width, Image1.Height, 0& .Refresh ReleaseDC .hwnd, lRet End WithEnd Sub但现在执行到 render语句 时报错(无效的过程调用或参数),还请您看看问题出在哪里? 试了一下,问题出在lRet = GetDC(.hwnd)获得的dc和Render方法有冲突,这样吧:用CreateCompatibleDC、 StretchBlt、OleCreatePictureIndirect直接从一个stdpicture对象得到另外一个指定了大小的stdpicture对象参考:http://www.mvps.org/EDais/Code/Libraries/Graphics/modOLEPicture.bashttp://72.14.203.104/search?q=cache:7qmN_8lXoJ8J:www.eggheadcafe.com/ng/microsoft.public.vb.winapi.networks/post12159642.asp+stdpicture+Render+vb+listview&hl=zh-CN 换一个思路就可以了:一个form,一个listviw,一个picture,picture装载一张图片用来演示粘贴下面的代码,改变form的大小看效果Option ExplicitPrivate Sub Form_Load() Picture1.AutoRedraw = True Picture1.Visible = FalseEnd SubPrivate Sub Form_Resize() ListView1.Top = 0 ListView1.Left = 0 ListView1.Width = Me.Width ListView1.Height = Me.Height Picture1.Width = Me.Width Picture1.Height = Me.Height Picture1.PaintPicture Picture1.Picture, 0, 0, Me.Width, Me.Height Set ListView1.Picture = Nothing Set ListView1.Picture = Picture1.ImageEnd Sub 电子秤 关于数据库的修改问题 如何判断客户点了WebBrowser 页面的哪个超级联接? 关于listView的两个问题?! 数据库access的问题 vb中listview 设置了 右键显示 菜单 如何找到 请高手指路:ADODC控件在编写其事件代码时出现这样的错误:“过程声明与同名事件或过程的描述不匹配”,求救! 送分,很白的问题:怎么去掉WebBrowser控件的滚动条 串口通信中数据的批量上传问题! 给个最快的字符串排序法,用VB 请问哪里可以下载mdac2.8 关于一个adodc控件的问题
然后将listview的背景图片设置为Image控件的图片。代码如下:
Private Sub Form_Resize()
With Me.ListView1
.Move Me.ScaleLeft, Me.ScaleTop, Me.ScaleWidth, Me.ScaleHeight
Image1.Move Me.ScaleLeft, Me.ScaleTop, Me.ScaleWidth, Me.ScaleHeight
Dim lRet As Long
lRet = GetDC(.hwnd)
.Picture.Render lRet, 0, 0, .Width, .Height, Image1.Left, Image1.Top, Image1.Width, Image1.Height, 0&
.Refresh
ReleaseDC .hwnd, lRet
End With
End Sub
但现在执行到 render语句 时报错(无效的过程调用或参数),还请您看看问题出在哪里?
用CreateCompatibleDC、 StretchBlt、OleCreatePictureIndirect直接从一个stdpicture对象得到另外一个指定了大小的stdpicture对象参考:http://www.mvps.org/EDais/Code/Libraries/Graphics/modOLEPicture.bashttp://72.14.203.104/search?q=cache:7qmN_8lXoJ8J:www.eggheadcafe.com/ng/microsoft.public.vb.winapi.networks/post12159642.asp+stdpicture+Render+vb+listview&hl=zh-CN
一个form,一个listviw,一个picture,picture装载一张图片用来演示
粘贴下面的代码,改变form的大小看效果Option ExplicitPrivate Sub Form_Load()
Picture1.AutoRedraw = True
Picture1.Visible = FalseEnd SubPrivate Sub Form_Resize()
ListView1.Top = 0
ListView1.Left = 0
ListView1.Width = Me.Width
ListView1.Height = Me.Height
Picture1.Width = Me.Width
Picture1.Height = Me.Height
Picture1.PaintPicture Picture1.Picture, 0, 0, Me.Width, Me.Height
Set ListView1.Picture = Nothing
Set ListView1.Picture = Picture1.Image
End Sub