VB picturebox控件家在一个图片的时候,怎么让他全部显示出来

就是我用picture控件家在一个图片,因为图片很大,只显示出一部分,怎么才能让他全部显示出来?我是想用哪个图片做屏保用的,谢谢!具体怎么弄
autosize已经设置为true,就是因为这个
用PaintPicture方法:
PaintPicture p,0,0,Picture1.ScaleWidth,Picture1.ScaleHeight
其中p为LoadPicture方法的返回值
能说清楚一点吗?怎么用

事实上建议使用 Image 控件。
Image 控件因为不能使用 hDC 和 hWnd 操作,占用内存少,重绘快。里面有一个 Stretch 属性,设置为 True 就是图片将就 Image,False 就是 Image 将就图片(估计也是用 PaintPicture 函数画的……参数不同而已)。
注意!设置为 False,Image 自动调整完毕后再进行大小修改是可以的,不会限定大小!
如果没有特殊需求(如 GDI+),就用 Image 好一点,甚至是 Form(支持 PictureBox 的所有方法)。
我估计 PaintPicture 的原型是 StretchDIBits。

下面讲解我从不知道有 PaintPicture 这个函数到掌握其用法的过程,供大家参考:
1、见到 PaintPicture 函数,考虑是否为 VB 的标准库函数;
2、直接调用,说明是;
3、用对象浏览器查找,发现所有具有 hDC 的控件都支持 PaintPicture,在根据 jcButton 的 DrawGradientEx 函数(by Charles PV)推测其原型。
4、由于 PaintPicture 的第一个参数类型为 StdPicture,结合 LoadPicture 的返回值及自动转换(IPictureDisp->StdPicture)想到用法。以下为简略型。

PaintPicture LoadPicture("{图片名称}", ...一堆参数,根据名称想作用), 0, 0, Picture1.ScaleWidth, Picture1.ScaleHeight, ...又是一堆参数

这个没有设置返回值接收,想要也很简单,用个变量接着,再向 PaintPicture 后和最后添加两个半角括号即可。
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-02-19
貌似有一个autosize,这个设置为true就可以了
第2个回答  2010-02-19
用PaintPicture方法:
PaintPicture p,0,0,Picture1.ScaleWidth,Picture1.ScaleHeight
其中p为LoadPicture方法的返回值

VB中picturebox无法显示全部图片,只有一小部分
从你的自定义坐标系来看,你的横坐标的可见范围是100到50,这也就是说凡是x大于100或小于50的数据就无法显示在Picture1中,因此你的整条Y轴都无法出现(因为x=0)。从你的后续程序来看,应该是这样才正确:Picture1.Scale (100, 0)-(0, 35)另外,为了显示出坐标轴线、刻度、X轴Y轴原点这些数据...

vb我在窗口中放了一张图片 结果不能全部显示 只是一部分。我想让它全部...
用Image 控件,设置Stretch 属性为TRUE Stretch 属性 返回或设置一个值,该值用来指定一个图形是否要调整大小,以适应与 Image 控件的大小。语法 object.Stretch [= boolean]Stretch 属性的语法包含下面部分:部分 描述 Object 对象表达式,其值是“应用于”列表中的一个对象。Boolean 一个用来指定是否要...

vb6.0中 ,picturebox中的文字无法全部显示,想要滚动显示怎么办?
VB6中 picturebox 控件可以作为容器,所以,先在窗体上添加一个picturebox1作为容器,然后在picturebox1里添加picturebox2,你把文字显示在picturebox2里,然后,通过滚动条,改变picturebox2的Left属性和Top属性,就可以达到你的需求了。

vb中如何在picturebox中写点的代码?然后把像素值赋给各点,显示出整个图...
’给你一个简单的例子,新建工程后在窗体上插入一个picture1的控件,和一个command1的控件 ‘例子中可以显示坐标系,如不需要显示删除那一段代码即可 Private Sub Command1_Click()'绘制f(x)=8*sin(x)正弦波 Picture1.DrawWidth = 2 '设置绘图线宽(点大小)Dim y As Double For x = -12 ...

VB.net中窗体上控件太多,运行时在桌面上显示不全,怎样用滚动条来解决...
在PicTureBox1里添加PicTureBox2,在窗体上添加一个垂直滚动条。把你所谓的许多控件放到PicTureBox2里,滚动条改变的是PicTureBox2在PicTureBox1里的Top属性,我想你通过一定的空间想象力,可以想到效果了吧?注意:默认状态设置PicTureBox2的Top属性为0,当该属性为负值的时候,PicTureBox2显示的效果是向上...

vb中怎么让picturebox输出多行文字
想要让picturebox输出多行文字,可以反复使用Print方法在PictureBox控件中输出多行文字,在插入的文字中输入回车符(即Chr(13))即可,每一个Print语句右面是一行的内容。此外,在需要换行的地方加上“ & vbCrlf & ”代码也是可以实现让picturebox输出多行文字的。

用vb.net,把picturebox里面的点的坐标显示出来
在picturebox的点击事件(Mouse Up)里面写入获取鼠标当前位置的代码就是了

用VB的picturebox控件画图像,只能保持一会儿就消失了。
只要窗口没被遮挡过图像就一直在,比如你把窗口拖到显示器边上挡住一部分再拖回来,档过的地方图就没了,最小化窗口在回来图像也没了。把AutoReDraw设为true就能让图像自动刷新。如果你用了一个比较慢的过程一点一点的画图的话(比如画几万个点),false的时候你能看见一个点一个点在picturebox里出现...

请问VB里能不能在一张图片(pictureBox)之上用print在固定位置输出一些字 ...
可以的:Picture1.AutoRedraw = True Picture1.CurrentX = 150 '设置打印起始位置横坐标 Picture1.CurrentY = 150 '设置打印起始位置纵坐标 Picture1.Print "ABC" '打印字符 不过建议最好选用Label控件,比较方便

vb中利用picturebox或imagebox显示网络图片的问题
下面是在VB中显示网页图片的三种方法,其中第一种方法就是完全适合你的要求的:第一种方法:如果知道图片的URL,那么可以直接在Picture1中显示:Private Declare Function OleLoadPicturePath Lib "oleaut32.dll" (ByVal szURLorPath As Long, ByVal punkCaller As Long, ByVal dwReserved As Long, ...

相似回答