| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 355 人关注过本帖
标题:为什么在程序运行时使用报表时报表只能显示调用它的表单窗口一样大小
只看楼主 加入收藏
wyyq
Rank: 1
等 级:新手上路
帖 子:197
专家分:0
注 册:2013-2-11
结帖率:91.18%
收藏
已结贴  问题点数:8 回复次数:3 
为什么在程序运行时使用报表时报表只能显示调用它的表单窗口一样大小
如标题所说
搜索更多相关主题的帖子: 表单 
2013-03-03 22:11
wyyq
Rank: 1
等 级:新手上路
帖 子:197
专家分:0
注 册:2013-2-11
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册
图片附件: 游客没有浏览图片的权限,请 登录注册
2013-03-04 00:49
wyyq
Rank: 1
等 级:新手上路
帖 子:197
专家分:0
注 册:2013-2-11
收藏
得分:0 
为什么报表只能跟查询窗口这么大?怎么设置跟主窗口一样大小?
2013-03-04 00:51
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9844
专家分:27213
注 册:2012-2-5
收藏
得分:8 
打印预览技巧两则
www.    时间 : 2007-06-17  作者:佚名   编辑:本站 点击:  505 [ 评论 ]
-
-


**怎样定制打印预览窗口?
**在打印预览表单中定制标题栏的一个途径

怎样定制打印预览窗口?

问:
有什么办法可以定制打印预览窗口的标题和工具栏?

我想要移去在右上角的那些按钮,这样在工具栏上的退出按钮就可以保证是退出的唯一选择。

回答:
VFP不允许对打印预览窗口的更多控制。所以你可能想要使用其他的报表编辑器——无论如何,对你提到的那些问题我们还是可以做一些事情的。Report 有一个 WindowName 选项。还有,如果你使用 REPORT NOWAIT 命令,那么你可以使用 ACTIVATE WINDOW 在任何窗口(包括顶层表单)中预览。

至于工具栏,你对它的修改被保存在 foxuser.dbf 中。你可以新建一个,定制工具栏,然后用另一个文件名保存 foxuser.dbf。在你打印预览前,用 SET RESOURCE to 把 foxuser.dbf 指定为你的自定义 foxuser.dbf。

在打印预览表单中定制标题栏的一个途径

在打印预览表单中定制标题栏并不是一件困难的事情,秘诀在于:

1、定义一个用于打印预览的窗口:(DefinirForma)

2、运行报表:(DO DOVistaPrevia)

**定义打印预览窗口的代码
PUBLIC oForm
IF !UPPER("FOXTOOLS") $ SET("LIBRARY")
SET LIBRARY TO HOME() + "Foxtools.Fll"
ENDIF
DO DefinirForma
DO DOVistaPrevia
RETURN

**表单定义
PROCEDURE DefinirForma
oForm = NEWOBJECT("Form002", "", "", "一个自定义打印预览窗口的例子")
oForm.Show

DEFINE CLASS Form002 AS Form
AutoCenter = .T.
BorderStyle = 3
Caption = "APLIC_NAME" && 这个标题是可以改变的
Desktop = .T.
DoCreate = .T.
FontBold = .T.
FontName = "MS Sans Serif"
FontSize = 8
Height = 350
Name = "Form002"
ShowWindow = 2
SizeBox = .T.
TabStop = .F.
Tag = "501"
TitleBar = 0 && **** 重要!不要改动 ****
Width = 474

PROCEDURE Init
LPARAMETERS lcCaption
LOCAL lnWHandle
THIS.Caption = lcCaption
*-- 这里设置的标题将不会显示
_WSetTitle(_WFindTitl(THIS.Caption), THIS.Caption)
ENDPROC
ENDDEFINE
ENDPROC

*-- Procedure DoVistaPrevia
PROCEDURE DoVistaPrevia
LOCAL lcAlias
lcAlias = ALIAS()
CREATE CURSOR TempDbf (TempMemo m)
SELECT TempDbf
APPEND BLANK
REPLACE TempDbf.TempMemo WITH "这是一个自定义打印预览窗口的例子" + CHR(13) + "不是一个完美的方法"
REPORT FORM UserRpt NOCONSOLE PREVIEW IN WINDOW Form002
SELECT TempDbf
USE
IF !EMPTY(lcAlias) AND USED(lcAlias)
SELECT (lcAlias)
ENDIF
RELEASE WINDOWS Form002
ENDPROC

这就是全部内容。秘诀在下面这些地方:

1、在表单定义中:
TitleBar = 0 && **** 重要!不要改动 ****

2、在用于打印预览的表单的INIT方法中:
_WSetTitle(_WFindTitl(THIS.Caption), THIS.Caption)

3、在菜单代码中:
REPORT FORM UserRpt NOCONSOLE PREVIEW IN WINDOW Form002


文章出处:飞诺网(www.):http://www.

坚守VFP最后的阵地
2013-03-04 01:10
快速回复:为什么在程序运行时使用报表时报表只能显示调用它的表单窗口一样大小
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017033 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved