机房收费系统——窗体与Excel导出

在刚做机房的时候 我们发现自己做的窗体会被 MDI窗体的图片给“挤”出去, 这是因为 MDI 程序中子窗体实际上是位于 MDI

窗口客户端 里,就是说子窗体的父窗体 是 MDI窗口客户端,而放置在MDI中的 picturebox 和MDI窗口客户端是同一级的层次结构那么我们怎样才能使别的子窗体覆盖在MDI窗体的图片的上面呢。

在网上查了很多方法都行不同后来在贴吧里找到一个方法,先调用一个API

<pre name="code" class="plain">Public Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long

 
 

然后回到MDI窗体的代码中,在每个窗体的点击事件中,都要加上一句SetParent 窗体名字.hWnd, frmMain.hWnd这样就可完

成应有的操作了

在做机房的过程中你会发现有许多需要导出Excel表格的窗体如果一个一个的去敲那就真是太麻烦了为了偷懒我们可以

这一段程序输入到模块中去 需要的时候就调用 这样不仅方便了许多 而且代码看的也整洁了许多

 

模块中

ublic Sub Export(frmName As Form, FlexGridName As String)

  

    Dim xlApp As Object                 'Excel.Application

    Dim xlBook As Object                'Excel.Workbook

    Dim xlSheet As Object               'Excel.Worksheet

  

    Screen.MousePointer = vbHourglass

      

    On Error GoTo Err_Proc

      

    Set xlApp = CreateObject("Excel.Application")

    Set xlBook = xlApp.Workbooks.Add

    Set xlSheet = xlBook.Worksheets(1)

  

    'Begin to fill data to sheet

    Dim intRowIndex As Integer

    Dim intColIndex As Integer

      

    With frmName.Controls(FlexGridName) '查找控件

        '填充数据到Sheet1

        For intRowIndex = 0 To .Rows - 1

            For intColIndex = 0 To .Cols - 1

                xlSheet.Cells(intRowIndex + 1, intColIndex + 1).Value = "'" & .TextMatrix(intRowIndex, intColIndex)

            Next intColIndex

        Next intRowIndex

          

    End With

      

    xlApp.Visible = True

    Screen.MousePointer = vbDefault

    Exit Sub

      

Err_Proc:

    Screen.MousePointer = vbDefault

    MsgBox "请确认您的电脑已安装Excel!", vbExclamation, "提示"

  

End Sub

 

窗体中

 

Private Sub cmdExportExcel_Click()

        Export Me, "myFlexGrid"

End Sub

在制作程序中还有许多有趣的事情值得我们去发现去研究

评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值