请问十豆三大侠

toyysky 2007-12-24 03:07:05
首先感谢您对我的帮助.

我现在有一个表单集formset1,表单集里有一个form1, 其中form1的几个属性如下
form1.width = 313
form1.height = 256
form1.top = 99
form1.left = 236

现在我想在form1 里通过
@ 0, 0 SAY c:\prcture1.bmp BITMAP
@ 1, 0 SAY c:\prcture2.bmp BITMAP
在form1表单上显示图片(注明:因为是个很早前的系统,我不想通过image 控件的picture 来实现)
但是运行的时候跳错,说 行或列超越screen.

后来我把FORM1表单的拖很大,运行系统没问题,但是图片没有显示出来,一直不知道是什么问题产生的?万分谢谢

...全文
150 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
十豆三 2008-01-02
  • 打赏
  • 举报
回复
还是 Foxer 知识丰富。学习。
Foxer 2007-12-30
  • 打赏
  • 举报
回复
VFP确实是可以SAY图片的:)

x = "C:\Vista_Login.png"
@0,0 SAY (x) BITMAP &&VFP 9里已经不可以直接写文件名了 :(

其实看看上面的帮助就知道,还可以SAY Word文档之类的(这个文档现在不容易找到了吧?)


楼主的问题出在哪里我也不清楚,我试验在Form上显示是没有问题的
Foxer 2007-12-30
  • 打赏
  • 举报
回复
-----------------------------------
@ ... SAY - 图片 & OLE 对象命令
-----------------------------------
显示图片和 OLE 对象,或调用 OLE 服务器来执行 OLE 对象操作。包含此命令是为了提供向后兼容性。在 Visual FoxPro 应用程序中,可用图象控制、OLE 绑定型控制和OLE 容器控制代替。

语法
@ nRow1, nColumn1
SAY cPictureFile BITMAP | GeneralField
[STYLE cFormatCode]
[CENTER]
[ISOMETRIC | STRETCH]
[SIZE nRow2, nColumn2]
- Or -
@ nRow1, nColumn1 SAY GeneralField
VERB nOleCommand | cOleCommand
[NOWAIT]

参数
@ nRow1, nColumn1
指定图片或 OLE 对象的位置。
行从上到下编号。第一行是指在 Visual FoxPro 主窗口或用户自定义窗口中的第 0 行。
在 Visual FoxPro 中,第 0 行是紧接在 Visual FoxPro 系统菜单栏下面的那一行。
在 FoxPro for Macintosh 中,第 0 行是紧接在 FoxPro 标题栏下面的那一行。对于打印机,第一行标记为 1,物理页面尺寸和每页行数决定了最大行号。

列从左到右编号,第 0 列是 Visual FoxPro 主窗口或用户自定义窗口中的第一列;对于打印机,第一列标记为 1,物理页面尺寸决定了最大列号。
图片或 OLE 对象输出到用户自定义窗口时,行和列坐标与用户自定义窗口,而不是 Visual FoxPro 主窗口相关。Visual FoxPro 主窗口或用户自定义窗口中的位置由窗口的字体决定。大多数字体可以用多种大小显示,有一些字体能名按比例留出间距。行的高度与当前字体的高度相一致,列的宽度与当前字体字符的平均宽度相一致。
可以用小数指定行、列坐标来设置图片或 OLE 对象在窗口中的位置。

SAY cPictureFile BITMAP
指定图片的文件名。BITMAP 关键字必须紧跟在 cPictureFile 参数后面。图片文件名必须用单引号、双引号或方括号分隔开。如果文件名存贮在内存变量或数组元素中,可以不用分隔符来包括内存变量或数组元素。
如果图片文件不在当前默目录或文件夹中,在文件名中还应包括路径。
在 FoxPro for Macintosh 中,如果省略图片文件的扩展名,FoxPro 将首先查找具有指定文件名并且带有 .BMP 扩展名的图片文件;若未找到,则接着查找具有指定文件名并带有 .PCT 扩展名的图片文件;若仍未找到,FoxPro 将寻找具有指定文件名,但不带扩展名的图片文件。

SAY GeneralField
指定包含 OLE 对象的通用字段。

STYLE cFormatCode
指定不透明或透明图片。如果在 cFormatCode 参数中包括 Q,则显示不透明的图片,但不显示不透明图片后面的文本、图片或控制。如果在 cFormatCode 中包括 T,则显示透明图片,图片后的文本、图片或控制能够透过图片显示出来。

CENTER
在 SIZE 子句指定的区域中居中对齐图片或 OLE 对象。如果省略 SIZE 子句,则图片或 OLE 对象在矩形区域中居中对齐,该区域由行、列坐标以及 Visual FoxPro 主窗口或用户自定义窗口的右下角决定。

ISOMETRIC
缩放图片或 OLE 对象以保持其比例。图片将收缩或扩展以适应指定区域的大小,并且不会变形。如果省略 ISOMETRIC 参数,并且 SIZE 子句指定的区域不能容纳图片或 OLE 对象,将裁剪图片使其大小与区域相适应。

STRETCH
在水平、垂直或两个方向缩放图片或 OLE 对象,以适应 SIZE 子句指定的区域大小,这时不再保持图片或 OLE 对象的比例。

SIZE nRow2, nColumn2
指定图片或 OLE 对象的大小。

nRow2 指定图片或 OLE 对象的高度,图片或 OLE 对象的高度是活动窗口字体高度的倍数。例如,如果 nRow2 为 2,则图片或 OLE 对象的高度是活动窗口字体高度的 2 倍。

nColumn2 指定图片或 OLE 对象的宽度,图片或 OLE 对象的宽度是活动窗口字体宽度的倍数。例如,如果 nColumn2 为 2,则图片或 OLE 对象的宽度是活动窗口字体宽度的 2 倍。
如果 SIZE 子句指定的区域太小而不能容纳图片或 OLE 对象,则裁剪图片或 OLE 对象。包括 ISOMETRIC 或 STRETCH 参数可以避免裁剪图片。
如果省略 SIZE 子句,图片或 OLE 对象则按默认尺寸显示。
VERB nOleCommand | cOleCommand
执行 OLE 对象的命令操作。

提示
在 Visual FoxPro 中,可以运行 REGEDIT /V 来查看每一个安装的 OLE 服务器可以使用的命令,命令动词及其对应编号都会显示出来。

命令动词可以是数值表达式 nOleCommand,也可以是字符表达式 cOleCommand。命令动词的编号从 0 开始。
例如,如果 OLE 对象为 Microsoft Word 文档,并且第一个命令动词 (nOleCommand = 0) 是 EDIT,那么发出以下两条命令中的任意一个命令,都将打开包含在 WORDDOC 通用型字段中的 Word 文档。
@ 2, 2 SAY worddoc VERB 0

- 或者 -
@ 2, 2 SAY worddoc VERB 'EDIT'

大多数 OLE 对象都支持 EDIT 命令。
有关 OLE 对象的其他内容,请参阅《开发指南》的第十八章“添加 OLE”,以及在表单中添加 OLE 对象。

NOWAIT
在 Visual FoxPro 开始执行 OLE 命令之后继续执行程序。例如,打开电子表格需要占用几秒钟的时间。加入 NOWAIT 参数后,在打开电子表格的同时,将继续执行程序。
在 Visual FoxPro 中,如果正使用 Quick Recorder 来播放声音,必须加入 NOWAIT 参数。Quick Recorder 在播放完声音之后仍保持打开,因此必须在重新执行 Visual FoxPro 程序之前由人工进行关闭。加入 VOWAIT 参数可自动关闭 Quick Recorder。

说明
在 Visual FoxPro 中,可使用表单设计器或 DEFINE CLASS来创建图象或 OLE 绑定型控制。有关与 FoxPro 2.x 控制的向后兼容性的内容,请参阅控制和对象。
有关向表单中添加控制的其他内容,请参阅《开发指南》的第九章“创建表单”,以及在容器类中添加对象。
仅用于 Visual FoxPro 和 FoxPro for Macintosh 中。
使用第一种语法格式在 Visual FoxPro 主窗口或用户自定义窗口中显示图片文件和 OLE 对象。图片文件和 OLE对象还可以用 @ ... SAY 命令直接输出到打印机。
在 Visual FoxPro 中,可以用此命令显示 .BMP(位图文件)。
在 FoxPro for Macintosh 中,可以显示 PICT 型图片文件以及 .BMP 位图文件。

如果发出 SET DEVICE TO SCREEN 命令(这也是初始默认方式),则输出则显示在 Visual FoxPro 主窗口或活动的用户自定义窗口中;如果发出 SET DEVICE TO PRINTER 命令,则输出到打印机。
该命令的第二种语法格式用于调用 OLE 服务器,使之为 OLE 对象服务。OLE 命令是操纵 OLE 对象强有力的工具,VERB 子句可以执行与 OLE 对象相关联的命令。例如,您可以启动创建 OLE 对象的应用程序,或者编辑或打印 OLE 对象。
-----------------------------------
See Also: APPEND GENERAL, 控制和对象, CREATE FORM, DEFINE CLASS, 图象控制, MODIFY GENERAL, OLE 绑定型控制, OLE 容器控制, SET DEVICE, SET PALETTE

十豆三 2007-12-24
  • 打赏
  • 举报
回复
是我记忆不好,用@可以显示图片?
toyysky 2007-12-24
  • 打赏
  • 举报
回复
说明一下
我已经在这之前用了activate window "form1" in window "form2" top

2,748

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧