1、当窗体最大化后,放在窗体上的控件怎样跟随着改变?
    比如Frame 的大小跟随着 窗体的变大而变大!变小而变小
 2、 VB报表在那调出来?是不是还得在哪添加?
 3、VB怎样调用XP的皮肤?把 按钮 变成美观 点 等。 4、怎样让MSHFLEXGRID 在最前面显示相应的记录 呢?
  谢谢啊!

解决方案 »

  1.   

    1、'以下代码写在标准模块中
    Option Explicit
    Private FormOldWidth As Long   '保存窗体的原始宽度
    Private FormOldHeight As Long  '保存窗体的原始高度'在调用ResizeForm前先调用本函数
    Public Sub ResizeInit(FormName As Form)
      Dim Obj As Control
      FormOldWidth = FormName.ScaleWidth'记录窗体的原始宽度
      FormOldHeight = FormName.ScaleHeight'记录窗体的原始高度
      On Error Resume Next
      For Each Obj In FormName
        Obj.Tag = Obj.Left & " " & Obj.Top & " " & Obj.Width & " " & Obj.Height & " "
      Next Obj
      On Error GoTo 0
    End Sub'按比例改变表单内各元件的大小,
    '在调用ReSizeForm前先调用ReSizeInit函数
    Public Sub ResizeForm(FormName As Form)
      Dim Pos(4) As Double
      Dim i As Long, TempPos As Long, StartPos As Long
      Dim Obj As Control
      Dim ScaleX As Double, ScaleY As Double
      '在调试时如果出现除数为零错误,是因为没有设定form的初值,请双击form1然后再测试,这个问题绝对不会在编译好的程序中出现
      If FormOldWidth = 0 Then '防止该错误的产生
        Exit Sub
      End If
      ScaleX = FormName.ScaleWidth / FormOldWidth   '保存窗体宽度缩放比例
      ScaleY = FormName.ScaleHeight / FormOldHeight '保存窗体高度缩放比例
      On Error Resume Next
      For Each Obj In FormName
        StartPos = 1
      For i = 0 To 4
        '读取控件的原始位置与大小
        TempPos = InStr(StartPos, Obj.Tag, " ", vbTextCompare)
        If TempPos > 0 Then
          Pos(i) = Mid(Obj.Tag, StartPos, TempPos - StartPos)
          StartPos = TempPos + 1
        Else
          Pos(i) = 0
        End If
        '根据控件的原始位置及窗体改变大小
        '按比例对控件重新定位与改变大小
        Obj.Move Pos(0) * ScaleX, Pos(1) * ScaleY, Pos(2) * ScaleX, Pos(3) * ScaleY
      Next i
      Next Obj
      On Error GoTo 0
    End Sub'窗体代码:Private Sub Form_Load()
        ResizeInit Me
    End SubPrivate Sub Form_Resize()
        ResizeForm Me
    End Sub
      

  2.   

    2、工程/添加 Data Report如果 工程 菜单下没有Data Report ,在 工程/部件/设计器/Data Report 钩上
      

  3.   

    怎样让MSHFLEXGRID 在最前面显示相应的记录 呢?
    就是  MSHFLEXGRID的 每一笔记录 的前面显示该笔记录号
      如1 -------------
        2 -------------
        3 --------------
      等等
      

  4.   

    我在选择DATA REPORT后 会提示 该许可信息没有找到 在设计环境中没有许可证 使用该功能?
    这是怎么回事?
      

  5.   

    4、
    明白了光用SQL语句,估计不出来,得建个临时表来做吧,完了删除临时表
    该许可信息没有找到 在设计环境中没有许可证
    ----------------------------------------
    可能vb 没装好,打sp5 或sp6升级包再试试
    http://www.microsoft.com/downloads/details.aspx?familyid=9EF9BF70-DFE1-42A1-A4C8-39718C7E381D&displaylang=zh-cn   'VsSP6升级包
      

  6.   

    1、当窗体最大化后,放在窗体上的控件怎样跟随着改变?
        比如Frame 的大小跟随着 窗体的变大而变大!变小而变小
    答:在窗體的Resize事件中重調控件位置和大小。2、 VB报表在那调出来?是不是还得在哪添加?
    答:在工程菜單下有。沒有的話看你安裝時有沒有選擇。3、VB怎样调用XP的皮肤?把 按钮 变成美观 点 等。
    答:用API改變控件外觀。推薦使用WinXPC控件,已經封裝好。調用一個方法即可。4、怎样让MSHFLEXGRID 在最前面显示相应的记录 呢?
    答:MSHFLEXGRID是綁定記錄的。我用Listview控件。
    該控件在添加記錄時,可以人為加上序號,我已經封裝成函數。