![]() ![]() |
|
在子窗体中预览报表 | |
作者:佚名 文章来源:不详 点击数 更新时间:2008/5/9 19:03:21 文章录入:杜斌 责任编辑:杜斌 | |
|
|
在这过程中要用到三个 Windows API 函数,它们是: Private Declare Function LockWindowUpdate Lib "user32" (ByVal hwndLock As Long) As Long LockWindowUpdate 函数:锁定当前窗口 GetDesktopWindow 函数:获取当前桌面窗口 SetParent 函数:将窗口放到指定的窗口中 该过程主要原理是通过 SetParent 函数指定报表窗口的户窗口句柄 hWnd 来实现将报表窗口放置在指定口中。由于要用到窗口句柄 hWnd,而在 access 只有窗体才具有窗口句柄 hWnd,因此我们用一个窗体来作为子窗体使用。在本文中,这个窗体名为 frmBack,具体属性设置如下: 记录选择器:否 滚动条:两者均无 记录选择器:否 导航按钮:无 分隔线:无 自动调整:是 边框样式:无 图片:D:\我的文档\My Pictures\back-1.gif 图片缩放模式:拉伸 这样这个窗体既具有窗口句柄 hWnd,又可作为开始的背景使用。 下面开始设计报表,在本文中报表名为 rpt1,按照正常报表进行设计,只有一个属性需要特别设置: 弹出方式:是 下面进行主窗体设计,在本文中窗体名为 frmOpenReportInSubForm,具体属性设置如下: 标题:在子窗体中预览报表 滚动条:两者均无 记录选择器:否 导航按钮:否 分隔线:否 自动调整:是 自动居中:是 边框样式:对话框边框 在窗体放上两个按钮:加载报表 cmdLoadRpt 和关闭报表 cmdCloseRPT,再放一个子窗体控件名为 subRPT,属性设置: 源对象:frmBack Option Compare Database Private Declare Function LockWindowUpdate Lib "user32" (ByVal hwndLock As Long) As Long Private Sub Form_Unload(Cancel As Integer) Private Sub cmdCloseRPT_Click() Private Sub cmdLoadRpt_Click() ' 锁定当前桌面 ' 解锁当前桌面 好了,整个设计过程完毕,打开 frmOpenReportInSubForm,点击[加载报表]按钮,你看到什么?报表就在子窗体按件的位置打开了。 |
|
![]() ![]() |