請問picture的height是不是不能大於245745? 咋辦? 我現在做的是一個縮圖瀏覽的程序,在picture1里面加載image控件,picture1的height當然也要根據image的變多而變大.可是picture1的height到了245745就再也不會變大了,我用滾動條也看不到下面的圖片.應該怎麼做呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 PictureBox里面放PictureBox控件,缩放里面的那个 這樣picturebox還是一樣height不可超過245745.還不是一樣? 没用过这么大,可能是PICTUREBOX的极限了吧。 已經是極限,但是如果我一定有很多個圖片要顯示在里面.那麼我想,就只能讓picture里面只顯示一部分圖片.當拉滾動條時,picture里面的圖片就更換.但是圖片仍要像瀏覽一頁一樣顯示.請問這樣的效果要如何實現呢?我這個程序是在一個from里放一個picture1,然后再在picture1里加一個image1(0),當要顯示圖片時,加載n個image1(),然後將圖片顯示在image1()中.也就是說多少個圖片,就有多少image.然后用滾動條來瀏覽picture1中的圖片. 但是圖片太多,picture1中就不夠了,看不到下面的圖片. Option ExplicitPrivate Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As LongPrivate Const SWP_NOMOVE = &H2Private Sub Form_Load() Me.ScaleMode = vbPixels '因为 SetWindowPos 设置窗口的尺寸时是以象素为单位的,所以把窗体的单位改为象素 SetWindowPos Picture1.hwnd, 0, 0, 0, Picture1.Width, 20000, SWP_NOMOVE MsgBox Picture1.Height '象素高度 MsgBox Picture1.Height * Screen.TwipsPerPixelY 'VB 默认的 Twip 高度 End Sub wzzwwz(棒子面窝头) 的方法把它全部改成象素,這樣個極限會擴大,但也大不了很多了,沒有解決根本問題. 好的滚动设计,应该是动态重绘的,不要用image控件,一个pictureBox足已,每次滚动都只是重绘pictureBox中显示出来的那部分局部画面。 homezj(小吉) 你的意思是說用pictureBox的PaintPicture方法嗎?我試了那樣,但是如果我要對其中一個縮圖操作的話,就有點困難了.比如單擊縮圖就被選中,雙擊放大,擊鼠標右鍵出現快捷菜單等操作.不知道我說明白沒有. 没有困难,只要每个缩图大小固定,根据pictureBox中Mouse事件可取到点击位置的坐标,此坐标称为相对坐标,加上滚动条取值,便可得到的在假想大图中的绝对坐标,由此算出此坐标对应是哪个缩图,甚至在缩图中的哪个位置。 homezj(小吉) 能興個例看看嗎。現在不知道怎麼下手。 是的我現在的程序就是沒有用picture也沒有用滾動條,只是在form裡面放了12個image控件,然後就要一頁頁翻,但總覺得有點死板。 如何用VB6通过ADO连接SQL Server 2008? VB_报表汇总! 运行代码时,出现下面的错误,请高手解决一下 请教 access 用between按时段查询的疑问 关于文本框和MASKEDBOX的问题 大哥大姐弟弟妹妹救命呀! 求教timeSetEvent问题,困扰已久 怎么检测系统里有多少个 COM 口呢? 怎样在WIN下读出汉字的16点阵码? 超过64K的字符串咋处理呀 一个希奇古怪的问题 快来帮帮我!!!
那麼我想,就只能讓picture里面只顯示一部分圖片.當拉滾動條時,picture里面的圖片就更換.但是圖片仍要像瀏覽一頁一樣顯示.請問這樣的效果要如何實現呢?我這個程序是在一個from里放一個picture1,然后再在picture1里加一個image1(0),當要顯示圖片時,加載n個image1(),然後將圖片顯示在image1()中.也就是說多少個圖片,就有多少image.然后用滾動條來瀏覽picture1中的圖片. 但是圖片太多,picture1中就不夠了,看不到下面的圖片.
Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
Private Const SWP_NOMOVE = &H2Private Sub Form_Load()
Me.ScaleMode = vbPixels '因为 SetWindowPos 设置窗口的尺寸时是以象素为单位的,所以把窗体的单位改为象素
SetWindowPos Picture1.hwnd, 0, 0, 0, Picture1.Width, 20000, SWP_NOMOVE
MsgBox Picture1.Height '象素高度
MsgBox Picture1.Height * Screen.TwipsPerPixelY 'VB 默认的 Twip 高度
End Sub
把它全部改成象素,這樣個極限會擴大,但也大不了很多了,沒有解決根本問題.
我試了那樣,但是如果我要對其中一個縮圖操作的話,就有點困難了.比如單擊縮圖就被選中,雙擊放大,擊鼠標右鍵出現快捷菜單等操作.
不知道我說明白沒有.