我的程序中有一段动态生成控件的代码,生成的控件按顺序排列,但由于控件太多,以至于picturebox控件的Height太大,而超过最大值后程序自动设置Height为16383(scalemode为3),请高手指点,怎样才能突破最大值的限制。

解决方案 »

  1.   

    Option Explicit
    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()
        SetWindowPos Picture1.hwnd, 0, 0, 0, Picture1.Width, 20000, SWP_NOMOVE
        MsgBox Picture1.Height
    End Sub
      

  2.   

    你是代码设定的还是IDE下设的属性??
    IDE下设的属性有限制,用代码应该没问题
      

  3.   

    经测试,VB只能设到245745TWIPS(16383PIXELS),用二楼的API可以设到32767PIXELS,
    但是!!!  在VB中控件的Left/Top无法突破245745TWIPS,所以二楼的也不是正解.
    期待高手解决.
      

  4.   

    不需要找微软吧?你不是说:人一定要靠自己吗?
    把picturebox控件的Height属性数值类型加长行不?