我在MDI的子窗体中,调用一个有模式的非子窗体,想要动态的控制加载窗体的位置(相对于子窗体中的一个控件),加载后位置总是不正确,请高手指教。

解决方案 »

  1.   

    MDI窗体没有模式和非模式之分。
      

  2.   

    我想在子窗体中选择代码,因为代码表是树型的结构,就做了一个非MDI的窗体,打开时用有模式的方式打开,我想将显示代码的窗体想显示在,调入代码的控件下面,用户看起来就像在下拉列表中的选择一样,但是窗体的位置总是不对。
      

  3.   

    代码:dim lngTop as Long, lngLeft as Long
         lngTop = txtInput.Top + txtInput.Width
         lngLeft = txtInput.Left
         lngTop = lngTop + picValue.Top + (picValue.Height - picValue.ScaleHeight)/2
         lngLeft = lngLeft + picValue.Left + (picValue.Width - picValue.ScaleWidth)/2
         lngTop = lngTop + frmCg.Top + (frmCg.Height - frmCg.ScaleHeight)/2
         lngLeft = lngLeft + frmCg.Left + (frmCg.Width - frmCg.ScaleWidth)/2
         lngTop = lngTop + frmMain.Top + (frmMain.Height - frmMain.ScaleHeight)/2
         lngLeft = lngLeft + frmMain.Left + (frmMain.Width - frmMain.ScaleWidth)/2
         frmSelect.Top = lngTop
         frmSelect.Left = lngLeft
      

  4.   

    子窗体的位置是相对于MDI窗体的,有部分高和宽没计算进去吧
      

  5.   

    mdi窗体的位置+子窗体的位置+控件位置+控件高宽=模式窗体位置