VB中picturebox无法显示全部图片,只有一小部分

如图,很小一部分,不论怎么拉大都一样PrivateSubCommand5_Click()ShowClsDimm,n,iAsIntegerPicture1.Scale(10... 如图,很小一部分,不论怎么拉大都一样
Private Sub Command5_Click()
Show Cls Dim m, n, i As Integer Picture1.Scale (100, 0)-(50, 35) '定义坐标系 Picture1.Line (0, 0)-(100, 0) '画X轴 Picture1.Line (0, 0)-(0, 35) '画Y轴 For m = 0 To 100 Step 5 '画X轴刻度 If m <> 0 Then Picture1.Line (m, 0)-(m, 0.3) Picture1.CurrentX = m - 2.5: Picture1.CurrentY = -0.5 Picture1.Print m End If Next m For n = 0 To 35 Step 1 '画Y轴刻度 If n <> 0 Then Picture1.Line (0, n)-(0.3, n) Picture1.CurrentX = -6: Picture1.CurrentY = n - 0.4 Picture1.Print n End If Next n Picture1.CurrentX = 2 Picture1.CurrentY = 0.2 Picture1.Print "0" Picture1.CurrentX = 105 Picture1.CurrentY = 0.2 Picture1.Print "X" Picture1.CurrentX = 3: Picture1.CurrentY = 11.5 Picture1.Print "Y" Dim a(29) As Variant, b(29) As Variant Dim j As Integer With MSFlexGrid1 For j = 1 To 28 a(j) = Val(.TextMatrix(j, 27)) b(j) = Val(.TextMatrix(j, 0)) Next j End With
For i = 0 To 28 Picture1.Line (b(i), a(i))-(b(i + 1), a(i + 1)), vbBlue Next i End Sub
展开
 我来答
网海1书生
科技发烧友

2015-12-07 · 擅长软件设计、WEB应用开发、小程序
网海1书生
采纳数:12311 获赞数:26228

向TA提问 私信TA
展开全部
从你的自定义坐标系来看,你的横坐标的可见范围是100到50,这也就是说凡是x大于100或小于50的数据就无法显示在Picture1中,因此你的整条Y轴都无法出现(因为x=0)。从你的后续程序来看,应该是这样才正确:
Picture1.Scale (100, 0)-(0, 35)
另外,为了显示出坐标轴线、刻度、X轴Y轴原点这些数据(它们都是在坐标范围之外),你应该适当扩大坐标系的范围,经过我的测试,下面这样是比较理想的:
Picture1.Scale (110, -3)-(-10, 38)
追问
额,其实我的本意是想显示全部,但是x轴是从50到100这样,就是x轴的起始刻度不是0而是50,应该怎么弄?还有就是不光坐标轴y显示不出来,我读取的数据折线也没显示出来啊。。。。这个才是最重要的
追答
你读取的数据范围一定要在(100, 0)-(0, 35)这个范围内,否则无法显示。
如果你想50-100,那么y轴就应该画在50这个位置,否则显示不出来。
总之,关键在于自定义坐标系统的设置,并不是说数据是多少,坐标就设为多少,因为画面上除了数据,还有其他东西要显示,那么就应该适当扩大坐标系统的范围。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式