lk2000mail 发表于 2016-11-11 23:38:49

vsPrinter控件的使用

vsPrinter控件的使用一、       一般使用的步骤      WITHThisform.vsPrinter(一)Set up Device (设置设备).Preview=True.Device= “EpsonLQ-1900K”.ExportFile=”C:\mydocus\test.rtf”.ExportFormat=vpxRTF(二)Set up Document (设置文档).Font=”Tahoma”.FonSize=9.Header=”Test| |page %d”.MarginLeft=”1in”(三)Start Document(开始文档).StartDoc(四)Generate Document (产生文档)For i=0 to 1.Paragraph=”Hello,World1”+str(i)if .Error<> then exitendifendfor (五)End Document   (结束文档).EndDoc(六)Preview/Print/Save Document (预览,打印,保存文档).PrintDoc.SaveDoc(“C:\mydocus\test.rtf”)        EndWith二、       详细说明1、用户接口属性(1)      控件外观⒈Appearance, BackColor, BorderStyle(略)⒉EmptyColor[=colorref&]:设置预览页面周围区域的颜色⒊NavBar[=NavBarSettings]:返回或设置是否显示导航条
ConstantValueDescription
vpnbNone0不显示
vpnbTop1在控件上方显示一简单的导航条
vpnbBottom2在控件下方显示一简单的导航条
vpnbTopPrint3在控件上方显示一复杂的导航条,这是缺省设置
vpnbBottomPrint4在控件下方显示一复杂的导航条
默认值为vpnbTopPrint(3) ⒋NavBarColor[= colorref&]:返回或设置导航条的颜色⒌AbortWindow[={True|False}]:返回或设置在打印时是否显示中断对话框,默认值为True⒍AbortWindowPos[=AbortWindowPosSettings]:返回或设置缺省中断对话框的放置
ConstantValueDescription
awAppWindow0自动中断对话框显示在控件的中心
awScreenCenter1自动中断对话框显示在屏幕的中心
默认值为awAppWindow(0) ⒎Error[=PrinterErrorSettings]:返回描述一个错误条件的代码
ConstantValue
vperCantAccessPrinter3
vperCantStartJob   4
vperUserAborted    5
vperAlreadyPrinting   6
vperDeviceIncapable   7
vperControlIncapable8
vperCantInBrowser   9
⒏AbortCaption[=valueas string]:返回或设置缺省中断对话框的标题,默认值为:"Printing..."⒐AbortTextButton[=valueas string]:返回或设置缺省中断对话框中按钮的标题,默认值为:"Cancel"⒑AbortTextDevice[=valueas string]:返回或设置缺省中断对话框中设备字串的标题,默认值为:"on the %s on %s",第一个%s代表设备名,第二个%s代表端口名。⒒AbortTextPage[=valueas string]:返回或设置缺省中断对话框中页字串的标题,默认值为:"Now printing Page %d of",%d代表当前页号(2)       预览⒈Preview[={True|False}]:返回或设置输出是存为预览还是直接打印,默认值为True⒉PreviewPage[=valueas integer]:返回或设置当前预览的页号⒊Val%=PreviewPages:返回当前在预览屏幕中的页数,这取决于ZoomMode的设置⒋ShowGuides[=ShowGuidesSettings]:返回或设置是否显示边距线
ConstantValueDescription
gdHide0从不显示
gdShow1总是显示
gdDesignTime2在设计时显示,这是默认值
⒌Navigation[=NavigationSettings]:返回或设置文档是否提供导航接口(鼠标,鼠标轮或键盘)
ConstantValueDescription
vpnvNone0没有内置的导航
vpnvMouse1以下鼠标命令可以导航 (1) 单击拖动以滚动文档, (2) shift加左右按钮的单击以翻页 (3) control加左右按钮的单击以放大和缩小
vpnvWheel2以下鼠标轮命令可以导航(1) 滚动鼠标轮以滚动文档, (2) shift加滚动鼠标轮以翻页 (3) control加滚动鼠标轮以放大和缩小
vpnvMouseWheel3包括鼠标命令和鼠标轮命令
vpnvKeyboard4以下键盘命令可以导航(1) 光标键以滚动文档, (2) PageUp/PageDown以翻页 (3) control加光标键以放大和缩小
vpnvMouseKeyboard5包括鼠标命令和键盘命令
vpnvWheelKeyboard6包括鼠标轮命令和键盘命令
vpnvAll7包括鼠标命令、鼠标轮命令和键盘命令
⒍Zoom[=value as double]返回或设置预览时显示比例的百分比⒎ZoomMode[=ZoomModeSettings] 返回或设置预览时的显示模式
ConstantValueDescription
zmPercentage0使用 Zoom 属性设置缩放比.
zmThumbnail1显示多页一英寸宽的页面来适应控件
zmTwoPages2显示紧靠着的两页整页,
zmWholePage3显示一页整页
zmPageWidth4显示一页,使其页宽适应控件
zmStretch5不管长宽比,伸展一页使其适应控件
默认值为:zmWholePage(3) ⒏ZoomMax[=valueas integer]:返回或设置最大的放缩比,对内置的鼠标、键盘放缩限制,对Zoom属性无效。默认值为400⒐ZoomMin[=valueas integer]:返回或设置最小的放缩比,对内置的鼠标、键盘放缩限制,对Zoom属性无效。默认值为10⒑ZoomStep[=valueas integer]:返回或设置每次放缩的增量,对内置的鼠标、键盘放缩有效,对Zoom属性无效。默认值为25⒒ProportionalBars[={True|False}]:返回或设置滚动条的大拇指是否与可视区域成比例。默认值为True⒓Track[={True|False}]:返回或设置当用户拖动滚动条的大拇指是否滚动文档。默认值为False⒔ScrollLeft[=valueas double]:返回或设置可视区域的左坐标⒕ScrollTop[=valueas double]:返回或设置可视区域的上坐标设置ScrollLef和ScrollTop可以控制滚动条,使得你可以决定预览页的哪一部分呈现在用户面前。以下代码使在预览窗口显示页的中心部分Private Sub cmdCenter()Dim x, yx = vp.PageWidth / 2 * (vp.Zoom / 100)y = vp.PageHeight / 2 * (vp.Zoom / 100)vp.ScrollLeft = x - (vp.Width - 300) / 2vp.ScrollTop = y - (vp.Height - 300) / 2End Sub⒖LargeChangeHorz[=valueas double]:返回或设置单击滚动条时,ScrollLef改变的数量,默认为300⒗LargeChangeVert[=valueas double]: 返回或设置单击滚动条时,ScrollTop改变的数量,默认为300⒘SmallChangeHorz[=valueas double]:返回或设置单击滚动箭头时,ScrollLef改变的数量,默认为30⒙SmallChangeVert[=valueas double] :返回或设置单击滚动箭头时,ScrollTop改变的数量,默认为30⒚Val%=ReadState:返回控件的当前状态。
ConstantValueDescription
vpstEmpty0控件为空的,没有预览文档.
vpstLoading1控件正在从磁盘或URL装载一个文档.
vpstReady2控件已经有了一个预览文档可以被打印和保存了
vpstOpen3控件正在产生一个文档 (StartDoc 已调用, EndDoc没有 ).
vpstSaving4控件正在保存一文档到磁盘文件
vpstPrinting5控件正在打印一文档
2、设备控制属性(1)      设备选择⒈Preview(见前面)⒉OutputFileName[=valueas string]:返回或设置将控件输出到一个打印机文件的名称,若设为空串“”则输出到打印机。若Preview设为True,此属性无效。⒊ExportFile[=valueas string]:返回或设置输出文件的名称。⒋ExportFormat[=ExportFormatSettings]:返回或设置输出文件的格式类型。
ConstantValueDescription
vpxPlainHTML0生成简单的 HTML.这项结果存在压缩HTML,但丢失了某些段落格式
vpxDHTML1生成带标签风格的HTML. 这项结果存在 大 HTML文件中, 所有段落格式都包含
vpxPagedHTML2与vpxPlainHTML相似, 但建立几个超链接 HTML文件.
vpxPagedDHTML3与vpxDHTML相似, 但建立几个超链接 DHTML文件
vpxRTF4建立RTF输出.
⒌Divece[=valueas string]:返回或设置当前打印机的名称,在建立文档时不能设置,必须在StartDoc之前设置。如果在EndDoc之后设置,必须重建文档⒍Val%=Diveces(ias integer):返回有效的打印机设备的名称,这是一个数组属性,以0为下标的基数⒎Val%=Ndevices:返回有效的打印机设备的数目⒏DefaultDevice[={True|False}]返回或设置是否使Divece的设置改变windows世的缺省设置Val$=Driver返回当前打印机的驱动程序名称。 (2)      设备驱动设置⒈PhysicalPage[={True|False}]返回或设置是否使用纸张的物理尺寸去适应它的页面,设为False将使用逻辑尺寸。逻辑尺寸比物理尺寸稍大,默认值为True⒉Collate[=CollateSettings]返回或设置打印多份复制文档时是否使用分页,即是逐页打还是逐份打。
ConstantValueDescription
colFalse0不使用分页,即逐份打印
colTrue1使用分页打印,这种方式更快。但不一定都能使用。当Errorr返回vperDeviceIncapable(7)值时,表示不支持此方式
⒊ColorMode[=ColorModeSettings]返回或设置彩色打印机的颜色模式
ConstantValueDescription
cmMonochrome1黑白打印
cmColor2彩色打印
⒋Copies[=valueas integer]返回或设置文档打印的份数,默认值为1⒌Val%=DPI返回当前打印的分辨率,以点/英寸为单位⒍Duplex[=DuplexSettings]返回或设置双向或双面打印
ConstantValueDescription
dupSimplex1单面打印
dupVertical2使用水平页翻转双面打印
dupHorizontal3使用垂直页翻转双面打印
⒎Orientation[=OrientationSettings]返回或设置纸张的方向
ConstantValueDescription
orPortrait0纵向
orLandscape1横向
⒏PaperBin[=PaperBinSettings]返回或设置当前纸盒
ConstantValueDescription
binUpper1纸来源于上面纸盒.
binLower2纸来源于下面纸盒.
binMiddle3纸来源于中间纸盒.
binManual4手动进纸.
binEnvelope5信封来源于信封送约器
binEnvManual6信封来源于信封送约器, 但手动进纸
binAuto7纸来源于当前缺省纸盒
binTractor8纸来源于牵引送纸器
binSmallFmt9纸来源于小纸盒
binLargeFmt10纸来源于大纸盒
binLargeCapacity11纸来源于大容量进纸器
binCassette14附加的纸盒筒
binFormSource15纸来源于连续打印纸
binUser256自定义纸盒
⒐Val%=PaperBins(PaperBinas PaperBinSettings)返回给定的纸盒是否有效⒑PaperSize[=PaperSizeSettings]返回或设置当前标准纸张的尺寸
ConstantValueDescription
pprLetter1Letter, 8½ x 11 in.
pprLetterSmall2Letter Small, 8½ x 11 in.
pprTabloid3Tabloid, 11 x 17 in.
pprLedger4Ledger, 17 x 11 in.
pprLegal5Legal, 8 ½ x 14 in.
pprStatement6Statement, 5 1/2 x 8 1/2 in.
pprExecutive7Executive, 7 1/2 x 10 1/2 in.
pprA38A3, 297 x 420 mm
pprA49A4, 210 x 297 mm
pprA4Small10A4 Small, 210 x 297 mm
pprA511A5, 148 x 210 mm
pprB412B4, 250 x 354 mm
pprB513B5, 182 x 257 mm
pprFolio14Folio, 8 ½ x 13 in.
pprQuarto15Quarto, 215 x 275 mm
ppr10x141610 x 14 in.
ppr11x171711 x 17 in.
pprNote18Note, 8 ½ x 11 in.
pprEnv919Envelope #9, 3 7/8 x 8 7/8 in.
pprEnv1020Envelope #10, 4 1/8 x 9 ½ in.
pprEnv1121Envelope #11, 4 ½ x 10 3/8 in.
pprEnv1222Envelope #12, 4 ½ x 11 in.
pprEnv1423Envelope #14, 5 x 11 ½ in.
pprCSheet24C size sheet
pprDSheet25D size sheet
pprESheet26E size sheet
pprEnvDL27Envelope DL, 110 x 220 mm
pprEnvC528Envelope C5, 162 x 229 mm
pprEnvC329Envelope C3, 324 x 458 mm
pprEnvC430Envelope C4, 229 x 324 mm
pprEnvC631Envelope C6, 114 x 162 mm
pprEnvC6532Envelope C65, 114 x 229 mm
pprEnvB433Envelope B4, 250 x 353 mm
pprEnvB534Envelope B5, 176 x 250 mm
pprEnvB635Envelope B6, 176 x 125 mm
pprEnvItaly36Envelope, 110 x 230 mm
pprEnvMonarch37Envelope Monarch, 3 7/8 x 7 ½ in.
pprEnvPersonal38Envelope, 3 5/8 x 6 ½ in.
pprFanfoldUS39U.S. Standard Fanfold, 14 7/8 x 11 in.
pprFanfoldStdGerman40German Standard Fanfold, 8 ½ x 12 in.
pprFanfoldLglGerman41German Legal Fanfold, 8 1/2 x 13 in.
ppr*42 - 68Less-common international sizes.
pprUser256自定义尺寸. 使用 PaperWidth和PaperHeight属性设置
⒒Val%=PaperSizes(PaperSizeas PaperSizeSettings)返回给定纸张的尺寸在当前打印机上是否有效⒓PaperWidth[=valueas single]返回或设置当前纸张的物理宽度。如果是设置,PaperSize将自动变为pprUser(256)成为自定义的纸张。⒔PaperHeight[=valueas single] 返回或设置当前纸张的物理高度。如果是设置,PaperSize将自动变为pprUser(256)成为自定义的纸张。⒕PrintQuality[=PrintQualitySettings]返回或设置打印质量
ConstantValueDescription
pqDraft-1尽可能低的分辨率
pqLow-2低分辨率
pqMedium-3中分辨率
pqHigh-4尽可能高的分辨率
Other> 0指定分辨率 (点每英寸)
⒖**ResetDC事件⒗ScaleOutput[=valueas integer]返回或设置打印输出的百分比⒘TrueType[=TrueTypeSettings]返回或设置TrueType字体如何被打印
ConstantValueDescription
ttBitmap1用位图打印
ttDownload2从软件字库下载TrueType字体
ttSubDevice3用设备字体代替TrueType字体.
ttOutline4用矢量图形打印.
⒙ReadState(见前面)3、文档规划属性(1)      页面大小⒈Orientation,PhysicalPage,见前面⒉Val#=PageWidth返回页面的宽度,取决于PaperSize,Orientation,PhysicalPage等属性的设置⒊Val#=PageHeight返回页面的高度,取决于PaperSize,Orientation,PhysicalPage等属性的设置(2)      页面设计⒈MarginLeft[=valueas variant]返回或设置左边距,以twips为单位,默认为1440⒉MarginRight[=valueas variant] 返回或设置右边距,以twips为单位,默认为1440⒊MarginTop[=valueas variant] 返回或设置上边距,以twips为单位,默认为1440⒋MarginBottom[=valueas variant] 返回或设置下边距,以twips为单位,默认为1440可使用其它单位
符号单位
没有缺省单位 (缇, 除了LineSpacing 属性).
in, "英寸
twip缇 (one twip = 1/20th of a point).
pt, point点
cm厘米
mm毫米
pix像素
%百分比
例如:vp.MarginLeft = 1440    ' no units, assume twipsvp.MarginLeft = "1in"' one inchvp.MarginLeft = "62pt" ' 62 pointsvp.MarginLeft = "2.3cm" ' 2.3 centimeters ⒌**GetMargins方法⒍Columns[=value as integer]返回或设置一页中的栏数,默认值为1⒎ColumnSpace[=value as variant] 返回或设置一页中的栏间距,默认值为180⒏Val%=PageCount返回当前文档总页数⒐PageBorder[=PageBorderSettings] 返回或设置每页边框的类型
constantvalue
pbNone0没有
pbBottom1底下有
pbTop2上面有
pbTopBottom3底下、上面都有
pbBox4四周都有
pbColumns5栏间有
pbColTopBottom6栏间、上下都有
pbAl7全有
pbColTop8栏间、上面有
pbColBottom9栏间、下面有
(3)       页眉和页脚⒈Header[=valueas string]返回或设置页眉的文本,左中右使用“|”分隔。如:vp.Header = "Document:" +chr(10)+ vp.DocName +"||Page"+ chr(10) +"%d"vp.Header = vp.DocName +"||Page %d"⒉Footer[=valueas string] 返回或设置页脚的文本,左中右使用“|”分隔。⒊HdrColor[=colorref&]返回或设置页眉页脚的颜色⒋HdrFont[=Font]返回或设置页眉页脚的字体⒌MarginHeader[=valueas variant] 返回或设置页眉的边距,默认值为0⒍MarginFooter[=valueas variant] 返回或设置页脚的边距,默认值为0⒎**AfterHeader事件⒏**AfterFooter事件⒐**BeforeHeader事件⒑**BeforeFooter事件●4、输出产生(1)      格式⒈CurrentX[=valueas variant]返回或设置光标的水平位置(距页面的左边界),以缇为单位⒉CuttentY[=valueas variant] 返回或设置光标的垂直位置(距页面的上边界),以缇为单位⒊**GetMargins见前面⒋PageWidth见前面⒌PageHeight见前面⒍IndentFirst[=valueas variant]返回或设置每段的首行缩进,以缇为单位,当设为负值时可形成悬挂缩进⒎IndentLeft[=valueas variant] 返回或设置每段的左缩进,以缇为单位⒏IndentRight[=valueas variant] 返回或设置每段的右缩进,以缇为单位⒐IndentTab[=valueas variant] 返回或设置一段的首行缩进,以缇为单位⒑LineSpacing[=valueas variant]返回或设置行间距,以百分比计
SettingEffect
100单倍间距
1501.5倍间距
200双倍
50半间距
⒒SpaceBefore[=valueas variant] 返回或设置段前间距⒓SpaceAfter[=valueas variant] 返回或设置段后间距⒔Font⒕TextColor[=colorref&]返回或设置文本的颜色⒖TextAlign[=TextAlignSettings] 返回或设置文本对齐方式
ConstantValueDescription
taLeftTop0左上
taCenterTop1中上
taRightTop2右上
taLeftBottom3左下
taCenterBottom4中下
taRightBottom5右下
taLeftMiddle6左中
taCenterMiddle7中中
taRightMiddle8右中
taJustTop9两端且靠上
taJustBottom10两端且靠下
taJustMiddle11两端且中间
⒗TextAngle[=valueas integer]返回或设置文本的角度,单位是十分之一度⒘AutoRTF[={True|False}]返回或设置是否自动侦测RTF文本,若为True,控件将把任何文本都解释成RTF文本,这对于形成复杂的表格和文档是有好处的,但同时会降低速度。⒙Val%=Styles返回适应于文档的风格,这是集合属性。它又具有自己的方法和属性。**vp.Styles.SetPageExtent方法, 从集合中清除所有风格val% = vp.Styles.Count返回集合中风格的数目**vp.Styles.Add(Key As String, FlagsAs StyleFlagsSettings) 方法,基于当前文档的设置建立一个新的风格,加入集合中,并以Key命名。Flags的取值如下表:
符号ValueSaves/Restores
vpsCharacter1Font, TextColor, 和TextAngle 属性.
vpsParagraph2SpaceBefore, SpaceAfter, LineSpacing, Indent*, 和 TextAlign 属性.
vpsGraphics4Brush*, Pen*, TablePen*, 和 TableBorder 属性.
vpsContent7所有以上的属性(vpsCharacter 、vpsParagraph 和vpsGraphics)
vpsPage8Margin*, Columns, ColumnSpacing,和PageBorder 属性.
vpsAll65535所有以上的属性(vpsCharacter 、vpsParagraph 、vpsGraphics 和vpsPage)
** vp.Styles.Remove(Index As Variant)方法,从集合中删除指定的风格,Index取值为0~vp.Styles.Count-1, **vp.Styles.Apply(Index AsVariant)方法,把给定的风格应用于控件,index 也右可用Key代替。vp.Styles.Key(Index As Variant) [ = NewKey As String]返回或设置给定风格的名字val% = vp.Styles.Flags(Index As Variant)返回给定风格的Flags参数,index 也右可用Key代替。**vp.Styles.Save(FileName AsString)方法,保存当前风格集合到一磁盘文件**vp.Styles.Load(FileName AsString)方法,从一磁盘文件装入风格集合(2)       文本⒈Paragraph=valueas string在页面的当前光标位置上呈现一个段落,呈现后光标出现在新的一行⒉Text=valueas string在页面的当前位置呈现一字符串,与Paragraph不同的是Text字符串可设多种字体和颜色等且。呈现后光标出现在字符串末尾。⒊**TextBox方法。⒋TextRTF=value as string在页面的当前光标位置上呈现RTF(多信息文本格式)文本,此种文本可由其它应用程序产生如:word,excel,richeditcontrol等。设置AutoRTF=True将RTF文本应用于各个地方(cell tables, headers, footers, text boxes, and regular paragraphs)。而且由控件导出的RTF文件可供其它应用程序使用。⒌ExportRaw[=value as string]向由ExportFile指定的输出文件插入原始的文本⒍CurrentColumn[=value as integer]返回当前文档正在建立的栏数从1~Columns⒎CurrentRow[=value as integer] 返回当前文档正在建立的行数⒏CurrentPage[=value as integer]返回当前文档正在建立的页数,如果文档建立完成,此属性就等于PageCount(文档的总页数) (3)       表格⒈Table=valueas string在页面上呈现一个表格,如:sFmt$="+^1440|+^1050|+^2000|+=4000;"sBody$ = "Last|First|Instrument|Favorite;" & _      "Page|James Patrick|Guitar|Stairway to Heaven;" & _      "Plant|Robert|Vocals|Going to California;" & _      "Jones|John Paul|Bass, Keyboards|The Lemon Song;" & _      "Bonham|John Bonzo|Drums|Rock & Roll, The Rover;"vp.Table = sFmt & sBody⒉**AddTable方法⒊**AddTableArray方法⒋**StartTable 方法⒌**EndTable 方法⒍TableCell(Setting As TableCellSettings, [Row1 As Variant ], [ Col1 As Variant ], [ Row2 AsVariant ], [ Col2 As Variant ]) [ = value As Variant ]返回或设置一单元格或一区域的属性一般过程A、使用StartTable开始表格的定义B、使用AddTable、AddTableArray或TableCell建立表格C、使用TableCell格式化表格D、使用EndTable结束定义并呈现表格
ParameterDescription
Setting指定哪个属性被返回或被设置.
Row1选定区域的起始行,表头为0行,表身从1行开始
Col1选定区域的起始列,从1列开始
Row2选定区域的末行,可选。缺省为Row1.
Col2选定区域的末列,可选。缺省为Col1
下面是settings 的设置:表的属性: 这些设置影响整个表.
ConstantValueDescription
tcIndent0返回或设置表的缩进,(缺省单位为twips).
tcRows1返回或设置表的行数, 表头不包括在内。 如果你改变表的行数,表格将从底部增加或删除表行。
tcCols2返回或设置表的列数, 如果你改变表的列数,表格将从右边增加或删除表列。
tcInsertRow3在指定的位置(Row1)插入一行.
tcInsertCol4在指定的位置(Col1)插入一列.
tcDeleteRow5在指定的位置(Row1)删除一行.
tcDeleteCol6在指定的位置(Col1)删除一列.
行的属性: 这此设置影响所有行或选定的行, 参数 Col1 和Col2 将无效
ConstantValueDescription
tcRowHeight7返回或设置行高。表头为0行,(缺省单位为twips).
tcRowBorder8返回或设置行是否带有上边框,可取的值是: 0 (没有边框), 1 (force 边框),and 2 (honor 表边框).
tcRowData9返回或设置一个与行关联的Variant类型的值,这个值给你自己使用,对控件不用它
tcRowSource10返回或设置给表行提供数据源的数组行。这个设置仅适用于绑定到数组的表格(使用eAddTableArray 方法).注意数组索引基于0,而表身索引基于1
tcRowKeepWithNext11返回或设置控件是否防止分页在行之后
tcRowIsSubHeader12返回或设置在呈现表格后,此行是否成为表头(用于子标题).
tcRowSpaceBefore34返回或设置插在行的每单元格之前的垂直空间数量
tcRowSpaceAfter 35返回或设置插在行的每单元格之后的垂直空间总量
tcRowBorderAbove36返回或设置行的自定义上边框的厚度
tcRowBorderBelow37返回或设置行的自定义下边框的厚度
tcRowBorderColor38返回或设置行的自定义上、下边框的颜色
tcRowNewPage39返回或设置此行是否在一页的开头(将强制分页)
tcRowKeepTogether40返回或设置一行是否是在同在页上,或是分在两页上
列的属性: 这此设置影响所有列或选定的列,参数 Row1 和 Row2 无效
ConstantValueDescription
tcColWidth13返回或设置列宽 (thedefault unit is twips).
tcColBorder14返回或设置在列的右边是否有边框,可取的值有: 0 (no border), 1 (force border), and 2 (honorTableBorder setting).
tcColData15返回或设置一个与列关联的Variant类型的值,这个值给你自己使用,对控件不用它
tcColSource16返回或设置给表列提供数据源的数组列。这个设置仅适用于绑定到数组的表格(使用eAddTableArray 方法).注意数组索引基于0,而表身索引基于1
tcColAlign31返回和设置列的对齐方式,有效的值与 TextAlign属性一样.
tcColNoWrap32返回或设置整个长文本是否可以换行以显示在列的一个单元格里
tcColSkipRepeats33返回或设置是否忽略与上面单元格相同文本的输入
tcColBorderLeft43返回或设置列的自定义左边框的厚度
tcColBorderRight44返回或设置列的自定义右边框的厚度
tcColBorderColor45返回或设置列的自定义左、右边框的颜色

单元格属性: 这些设置影响某单元格或某区域。
ConstantValueDescription

tcColSpan17返回或设置多少列的单元格被跨越(列合并)

tcText18返回或设置单元格的的文本。如果表格绑定到一数组组,设置这属性将改变表格但不改变原数组

tcAlign19返回或设置单元格的文本对齐方式。有效的值与TextAlign 属性一样。

tcBackColor20返回或设置单元格的背景颜色

tcForeColor21返回或设置单元格的前景颜色

tcFont22返回或设置单元格的字体

tcFontName23返回或设置单元格的字体名称

tcFontSize24返回或设置单元格的的字体大小R

tcFontBold25返回或设置单元格的字体是否是加粗

tcFontItalic26返回或设置单元格的字体是否是斜体

tcFontUnderline27返回或设置单元格的字体是否有下划线

tcFontStrikethru28返回或设置单元格的字体是否有加重符号

tcPicture29返回或设置单元格的图片

tcPictureAlign30返回或设置单元格的图片对齐方式

tcRowSpan41返回或设置多少行的单元格被跨越 (行合并).

tcVertical42返回或设置单元格的文本方向是否垂直的

tcAlignCurrency46Aligns to the right and accounts forparenthesis.Negative currency values are often shownenclosed in parenthesis.
⒎TableBorder[ = TableBorderSettings ]返回或设置表的边框类型
Constantvaluedescription
tbNone0没有边框
tbBottom1表头和表身有底部边框
tbTop2表头和表身有顶部边框
tbTopBottom3表头和表身有顶部、底部边框
tbBox4表头和表身有外边框
tbColumns5表头和表身有列间边框
tbColTopBottom6表头和表身有列间边框、顶部、底部边框
tbAll7全部边框都有
tbBoxRows8表头和表身外边框和行间边框
tbBoxColumns9表头和表身外边框和列间边框
tbBelowHeader10表头有底部边框
⒏TablePen[ = value As Variant ]返回或设置单元格间边框的厚度⒐TablePenTB[ = value As Variant ] 返回或设置表格顶部外边框和底部外边框的厚度⒑TablePenLR[ = value As Variant ] 返回或设置表格左外边框和右外边框的厚度⒒**BeforeTableCell事件⒓**AfterTableCell事件 (4)      图形(略)⒉BrushColor[ = colorref& ]返回或设置填充图形的刷子的颜色⒊BrushStyle[ = BrushStyleSettings ] 返回或设置填充图形的刷子的风格
ConstantValueDescription
bsSolid0实心刷子
bsTransparent1透明刷子.使用此刷画空的图形
bsHorzLine2水平线
bsVertLine3垂直线
bsDiagonalUp4向上突出的对角线
bsDiagonalDown5向下突出的对角线
bsCross6水平、垂直交叉线
bsDiagonalCross7对角交叉线
默认值是bsSolid(0)⒋PenColor[ = colorref& ]返回或设置勾画图形的笔的颜色⒌PenStyle [ = PenStyleSettings ] 返回或设置勾画图形的笔的风格
ConstantValueDescription
psSolid0实心笔(默认值).
psDash1虚线笔.
psDot2点笔.
psDashDot3划-点笔
psDashDotDot4划-点-点笔.
psTransparent5透明笔 (no lines).
psInsideSolid6Solid pen drawn inside shapes.
⒍PenWidth [ = value As Variant ] 返回或设置勾画图形的笔的宽度,默认为0⒎** DrawCircle方法⒏** DrawEllipse方法⒐** DrawLine方法⒑** DrawRectangle方法⒒Polygon=value As String 画一个包含X、Y坐标的字串所设计的多边形如:vp.StartDoc      vp.Polygon= "1000 1000, 2000 1000, 2000 2000, 1000 2000"vp.EndDoc⒓Polyline= value As String画一个包含X、Y坐标的字串所设计的折线⒔Draw = DrawSettings画一个以X1,Y1, X2, Y2所确定范围的对象
ConstantValueDescription
doNothing0没有效果.
doLine1画一条线从点 (X1, Y1)到点(X2, Y2)
doRectangle2画一个长方形从点 (X1, Y1)到点(X2, Y2)
doEllipse3画一个椭圆由点(X1, Y1) 和 点(X2, Y2)确定范围
⒕X1 [ =value As Variant ], Y1 [ = value AsVariant ], X2 [ = value AsVariant ], Y2 [ = value AsVariant ]分别是返回或设置左、上、右、下的坐标。用于以下情况:1.   在Draw 和Picture 属性中,定义一个长方形来确定对象的位置和大小2.   在使用CalcParagraph, CalcPicture, CalcTable, CalcText, 和CalcTextRTF 属生测量时,返回原素的边界框。3.   在调用GetMargins方法后,返回页面的可打印区域。4.   在调用 FindTag和FindText属性后.返回标签或文本的位置。 (5)      图片(略)⒈**DrawPicture方法⒉RenderControl=value As Long在页面上呈现一个OPP控件,必须给它赋以OPP控件的hwnd⒊PelettePicture[=picture]返回或设置呈现文档的调色板。⒋Picture[=picture]返回当前预览页上的一幅图片,或设置一幅图片在当前页上显示。⒌X1,Y1,X2,Y2见前面。 (6)      覆盖层⒈**StartOverlay方法⒉**EndOverlay方法 (7)      活动内容⒈**CilentToPage方法⒉**PageToCilent方法⒊iPage =FindText(TextAs String, [ CaseSensitive As Variant ], [ StartPage As Variant], [ EndPage As Variant ], [ StartY As Variant ])在当前文档中查找Text中的内容,返回匹配的页号和坐标放在X1,Y1,X2,Y2中。若没找到,返回-1参数说明:Text As String:包含要查找的文本CaseSensitive As Variant (可选):指定查找时是否匹配大小写,默认是 False.StartPage As Variant(可选):指定查找的开始页,默认是1 (the first page).EndPage As Variant(可选) 指定查找的结束页,默认是PageCount 属性(the last page).StartY As Variant(可选),指定开始查找的行位置,默认是0。⒋val$=RetrieveText(LeftAs Variant, Top As Variant, [ Right As Variant ], [ BottomAs Variant ], [ Page As Variant ], [ ClientCoords As Variant ])返回当前文档中指定区域的文本。参数说明:Left, Top As Variant这些参数定义区域的左上坐标,你可以为参数指定这些单位 (inches,points, twips, cm, mm, or pixels). 缺省单位是twips. 详细用法见 Using Unit-Aware Properties 主题.Right, Bottom As Variant(可选)这些参数定义区域的右下坐标,是可选的,默认值是Left, TopPage As Variant(可选)这些参数定义区域的页号,可选,默认值是当前预览页(PreviewPage 属性).ClientCoords As Variant (optional)这参数指定 Left, Top, Right, and Bottom 参数表示的是 client 坐标还是page坐标 。可选,默认值是False (page坐标). 你可以使用ClientToPageand PageToClient 方法转换坐标。 ⒌**ScrollIntoView方法⒍**StartTag方法⒎**EndTag方法⒏iPage=FindTag(TextAs String, [ CaseSensitive As Variant ], [ StartPage As Variant ], [ EndPageAs Variant ], [ StartY As Variant ])查找标签,返回匹配标签的页号和区域(放在X1,Y1,X2,Y2)若查找不到返回-1。参数如下:Text As String包含要查找标签的文本。控件执行部分匹配,如:设置文本为"FIELD:"将检索出带有"FIELD:first" 和"FIELD:last"文本的标签。CaseSensitive As Variant (optional)决定是否匹配大小写,默认设置是False.StartPage As Variant (optional)指定开始查找标签的页号,默认值是1 (the first page).EndPage As Variant(optional)指定结束查找标签的页号,默认值是PageCount 属性(the last page).StartY As Variant(可选)指定在开始查找的行位置,默认值是0 (the top of thepage).⒐val$=RetrieveTag(LeftAs Variant, Top As Variant, [ Right As Variant ], [ BottomAs Variant ], [ Page As Variant ], [ ClientCoords As Variant])返回当前文档中指定区域的标签的文本。(8)      测量⒈GetMargins见前面⒉PageHeight见前面⒊PageWidth见前面⒋CalcParagraph=valueAs String计算一个段落的大小,返回结果放在TextWid, TextHei, X1, Y1, X2, 和Y2.中⒌CalcText=valueAs String计算一个字串的大小,返回结果放在TextWid, TextHei, X1, Y1, X2, 和Y2.中⒍CalcTextRTF=value As String 计算一个RTF字串的大小,返回结果放在TextWid, TextHei, X1,Y1, X2, 和Y2.中⒎CalcTable=valueAs String计算一个表格的大小,返回结果放在TextWid, TextHei, X1, Y1, X2, 和Y2.中⒏CalcPicture=Picture计算一幅图片的大小,返回结果放在TextWid, TextHei,X1, Y1, X2, 和Y2.中⒐Measure,=value As String计算一个字串的高度和宽度,返回结果放在TextWid, TextHei中⒑val#=TextHei,当测量时返回被测字串的高度⒒val#=TextWid,当测量时返回被测字串的宽度⒓val#=TextHeight(Text As String)返回指定字串的高度⒔val#=TextWidth (Text As String) 返回指定字串的宽度⒕val#=TwipsPerPixelX返回在水平方向上,每打印像素包含多少缇。⒖val#=TwipsPerPixelY,返回在竖直方向上,每打印像素包含多少缇。⒗val%=Measuring如果是在测量文本则返回True,如果是在呈现文本Fasle5、文档管理(1)      文档管理和信息⒈** StartDoc方法, EndDoc方法。⒉** KillDoc方法⒊** NewPage 事件⒋** NewColumn事件⒌** NewLine事件⒍** EndPage事件⒎** PrintDoc方法⒏** PrintFile方法⒐PageCount见前面⒑DocName[ = value As String ]返回或设置当前文档的名称(是文件名的别名)⒒Error[ = PrinterErrorSettings ]返回对错误条件的描述
ConstantValue
vperCantAccessPrinter3
vperCantStartJob   4
vperUserAborted    5
vperAlreadyPrinting   6
vperDeviceIncapable   7
vperControlIncapable8
vperCantInBrowser   9
⒓ReadyState见前面⒔** ReadyStateChange事件(2)      磁盘操作⒈** Archive方法⒉ArchiveInfo(arcFileName As String, InfoType As ArchiveInfoSettings, [ Index As Variant ])[ = value As Variant ]返回档案文件的信息。
ParameterDescription
ArcFile$档案文件的名称,包含路径
Info%要从档案文件中检索信息的类型 ,有效设置在下表
Index%可选,基于0的索引(指定在档案文件中哪个文件被处理).
Info 参数的有效设置:
ConstantValueDescription
arcFileCount0档案中的文件数量
arcFileName1由索引参数指定的名称
arcFileSize2由索引参数指定的文件的原始大小
arcFileCompSize3由索引参数指定的文件的压缩后的大小
arcFileDate4由索引参数指定的文件的最后一次修改的日期和时间
⒊** LoadDoc方法⒋** LoadingDoc事件⒌** SaveDoc方法⒍** SavingDoc事件6、windows API支持⒈hWnd⒉val&=hDC返回当前控件的hDC三、       方法和事件(一)方法⒈AddLink (LinkText As String, LinkTarget As String, FormattedAs Boolean)方法为文档加入一个超级链接LinkText 是超级链接在文档中显示的文本LinkTarget 是一个 URL (e.g. "http://www.componentone.com")或者本地定义的一个链接标签(e.g. "#myTarget") (目标).Formatted 决定文本是否以 HTML 链接的格式出现 (有下划线并显示为蓝色). ⒉AddLinkTarget(TargetText As String, TargetNameAs String)方法在当前位置添加一个目标标签。TargetText 在文档中显示的文本TargetName 能被单击超级链接而引用的目标的名称 ⒊AddTable(Format As String, Header As String, Body As String, [ HeaderShadeAs Variant ], [ BodyShade As Variant ], [ Append As Variant ])方法,呈现一个带有行头和指定格式的表格Format$(格式字符串的设置)有效的格式字符:
CharacterEffect
< 列的内容左对齐
^列的内容居中
> 右对齐
=调整以适应列的内容
+列的内容垂直居中
_垂直靠下
*列的内容依照 TextAlign属性
~不自动换行
!列的右面画一垂直边框 (查看TableBorder属性)
如:s$ ="^+2in|^+2in|^+2in|^+2in"  其中的2in是指列宽Header$(表头字符串的设置)表头出现在每栏或每页的表的第一行,列之间的内容由“|”分隔。可由TableSep设置不同的分隔符Body$(表身字符串设置)列之间的内容由“|”分隔,行与行之间由“;”分隔。可由TableSep设置不同的分隔符HeaderShade, BodyShade(可选)(表头和表身阴影的设置)分别设置表头和表身阴影的颜色,若省略或设为0则没有阴影Append(可选)(追加选项)设为 True则表头出现在每页的顶部。⒋AddTableArray(Format As String, Header As String, Body As Variant, [ HeaderShadeAs Variant ], [ BodyShade As Variant ], [ Append As Variant ])方法,将一数组呈现为一个带有行头和指定格式的表格。与AddTable很类似,只不过表身的数据来源于一数组而不是一字符串。默认情况下,表格的第一列绑定数组的第0列,表身的第一行绑定数组的第0行。⒌Archive(arcFileName As String, FileName As String, Action As ArchiveSettings)方法,从档案文件中添加或提取、删除文件。   参数说明:
ParameterDescription
arcFileName$档案文件名称,包含路径
FileName$要从档案文件中添加、提取右删除的文件的名称
Action% 要执行的动作,在下面说明
有效的动作参数:
ConstantValueDescription
arcAdd0添加FileName指定的文件到档案文件中,并压缩它 . 如果档案文件不存在,将建立它。 如果文件已在档案文件中,将刷新它。
arcStore1添加FileName指定的文件到档案文件中,但不压缩它。如果档案文件不存在,将建立它。如果文件已在档案文件中,将刷新它。
arcDelete2从档案文件中移去FileName指定的文件。
arcExtract3提取FileName文件的一个拷贝在磁盘上存放路径由FileName参数指定,没有路径则按档案中的路径存放
⒍Clear 方法,清理控件,释放任何当前装入的文档。⒎ClientToPage(X As Single,Y As Single, [ Page As Variant ]方法,将事件(MouseDown, MouseMove, and MouseUp)中的鼠标坐标转换为页坐标⒏DrawCircle (CenterX As Variant, CenterY AsVariant, Radius As Variant, [ Start As Variant ], [ End AsVariant ])方法,画一个圆,扇形,圆弧等。
ParameterDescription
CenterX中心的横坐标
CenterY中心的纵坐标
Radius半径.
Start可选参数。指定开始的弧度。省略则将画一个圆
End
⒐DrawEllipse (X1 As Variant, Y1 As Variant, X2As Variant, Y2 As Variant, [ Start As Variant ], [ EndAs Variant ])方法,画一个椭圆或弧等。
ParameterDescription
X1, Y1包含椭圆的矩形区域的起始坐标。
X2, Y2包含椭圆的矩形区域的末尾坐标。
Start可选参数。指定开始的弧度。省略则将画一个椭圆
End可选参数。指定结束的弧度。省略则将画一个椭圆.
⒑DrawLine (X1 As Variant, Y1 As Variant, [ X2 As Variant ], [ Y2As Variant ])方法,画一线段。⒒DrawPicture(Picture As Picture, Left As Variant, Top As Variant, [ WidthAs Variant ], [ Height As Variant ], [ Align As Variant ], [ ShadeAs Variant ])方法,画一幅图片。参数说明:
ParameterDescription
Picture要画出来的图片。可以是这些文件的引用(bitmap, icon, or metafile.)
Left, Top图片所放的位置的左、上坐标。
Width, Height可选参数,决定图片的大小。省略则使用原始大小
Align决定图片的比例和对齐方式。必须是PictureAlignSettings 中的一个值. 默认是 vppaStretch。
Shade决定是否采用阴影。可选,默认是 False.
PictureAlignSettings的值如下:
ConstantValueDescription
vppaLeftTop0左上角.
vppaCenterTop1中上
vppaRightTop2右上角.
vppaLeftBottom3左下角
vppaCenterBottom4中下
vppaRightBottom5右下角
vppaLeftMiddle6左中
vppaCenterMiddle7中中
vppaRightMiddle8右中
vppaClip9中中(与vppaCenterMiddle一样)
vppaZoom10保留原始纵横比,填入指定的范围
vppaStretch11拉伸(如果需要),填入指定的范围
vppaTile12平铺(如果需要),填入指定的范围
⒓DrawRectangle Method (VSPrinter)⒔EndDoc方法,结束一个文档。⒕EndOverlay 方法,关闭以StartOverlay打开的页面⒖EndTable 方法,呈现从调用StartTable定义的表格⒗EndTag 方法,结束以StartTag开始的标签定义。⒘GetMargins 方法,返回除边距外的可打印区域,放在X1,Y1,X2,Y2属性中18.KillDoc 方法,取消或见删除当前文档。19.LoadDoc(FileName As String, [ Append AsVariant ])方法,从磁盘装入一篇文档
ParameterDescription
FileName要装入的文件名称. 文件必须存有并且是用SaveDoc方法保存的文件 否则装会出错。
Append可选参数,指定装入的文档是追加在现有文档的后面,还是覆盖现有文档。默认值是False,即覆盖现有文档
20.MovePages Method( First As Long, Last As Long, bToFront As Boolean)方法,移动一系列页到文档的开头或结尾。FirstAs Long指定这一系列页的首页Last As Long指定这一系列页的尾页bToFront As Boolean,指定是移到开头还是末尾。为True即移到开头。21.NewColumn方法,掠过到达下一栏22.NewPage 方法,掠过到达下一页23.PageToClient(X As Single,Y As Single)方法,与CilentToPage相反,将页坐标转换为鼠标坐标24.PrintDialog (DialogType As PrintDialogSettings) 显示打印和页面设置对话框。
ConstantValueDescription
pdPrinterSetup0显示一个打印机设置对话框。这对话框通常用于文档被建立之前,可选择目标打印机,纸张大小和方向。
pdPageSetup1显示一个页面设置对话框。这对话框通常用于文档被建立之前,可选择边距,纸张大小和方向
pdPrint2显示一个打印对话框。这对话框通常用于文档已准备好之后,可选择打印的页码范围和份数。(如果文档为空,将显示页面设置对话框).
pdGetFromPage100检索出在上次使用打印对话框所设置的打印首页,并不显示对话框。
pdGetToPage101检索出在上次使用打印对话框所设置的打印尾页,并不显示对话框
pdGetToFile102检索出在上次使用打印对话框是否设置了打印到文件,并不显示对话框
25.PrintDoc( , [ FromPage As Variant ], [ ToPage As Variant ])方法,打印当前被预览的文档。
ParameterDescription
Choose若没为 True, 控件将在打印之前显示一打印对话框。可选,默认值为 False.
FromPage选择打印的首页.也可设为一个复杂的字符串(e.g."1-5, 7, 9-11"). 可选,默认值为 one.
ToPage选择打印的末页,可选,默认值为 PageCount.
26.PrintFile(FileName As String)方法,打印一个文件。27.SaveDoc(FileName As String, [ Compress As Variant ], [ FromPage AsVariant ], [ ToPage As Variant ])方法,保存当前文档到磁盘。
ParameterDescription
FileName要保存的文件名
Compress指定是否压缩保存,可选,默认值为True.
FromPage保存的首页 ,可选,默认值为 one.
ToPage保存的末页,可选,默认值为PageCount.
28.ScrollIntoView (Left As Variant, Top As Variant, [ Right As Variant ],[ Bottom As Variant ])方法,滚动控件使指定的文档区域可见。29.StartDoc方法,开始一个文档30.StartOverlay (Page As Integer, [ Preserve As Variant ]) 方法,为附加的输出重新打开一预览页
ParameterDescription
Page在当前已存在的预览文档中指定你想添加文本或图形的某页
Preserve是定先前已有的内容是否被保存下来,还是被删除。默认是False, 即先前的内容被删除。
31.StartTable方法,延迟表格的呈现,直到调用EndTable32.StartTag (Text As String, [ Left As Variant ], [ Top As Variant], [ Right As Variant ], [ Bottom As Variant ])方法,开始一个文档标签的定义,参数说明如下:Text As String此参数包含标签的文本。后面你可通过此值用 FindTag 属性查找标签, 或者用RetrieveTag属性检索此值Left, Top, Right, Bottom As Variant (可选l)可选,指定与标签关联的区域。如果省略,标签将包括直到调用EndTag方法之间的所有文本和图形元素。33.TextBox (Text As String, X As Variant, Y AsVariant, Width As Variant, Height As Variant, [ WrapAs Variant ], [ Calc As Variant ], [ Shade As Variant ])方法,以指定的位置和大小呈现一个文本框(二)事件AfterFooter 事件,发生在打印每一页的页脚之后,可允许字形改变AfterHeader事件,发生在打印每一页的页眉之后,可允许字形改变AfterTableCell事件,发生在单元格被呈现之后,允许列的描绘AfterUserPage事件,发生在预览页码改变之后,以响应用户的请求AfterUserScroll事件,发生在卷动页面之后,以响应用户的请求AfterUserZoom事件,发生在缩放之后,以响应用户的请求BeforeFooter事件,发生在打印每一页的页脚之前,可允许字形改变BeforeHeader事件,发生在打印每一页的页眉之前,可允许字形改变BeforeTableCell事件,发生在单元格被呈现之前,允许列的格式。BeforeUserPage事件,发生在预览页码改变之前,以响应用户的请求BeforeUserScroll事件,发生在预览页码改变之前,以响应用户的请求BeforeUserZoom事件,发生在缩放之前,以响应用户的请求EndDoc事件,发生在一个文档已经被成功的打印出来(这里的打印并不是指在打印机上打印,或者说成此文档已被完整的呈现出来)EndPage事件,发生在每页完成之后,页面内容已呈现完毕。Error事件,发生在一个错误被侦测出来之后LayoutThumbnails事件,LoadingDoc( ByVal Page As Integer, ByVal Of As Integer, CancelAs Boolean)事件,发生在文档正在装入中,每页装入完毕之后。
ParameterDescription
Page正有装入的页号
Of装入文档的总页数
Cancel如果取消文档的装入,设置它为True
MouseLink事件,发生在用户在一个链接上单击或移动鼠标时。NewColumn事件,发生在每栏或分页之后NewLine事件,发生换行之后NewPage事件,发生在每页被建立之后,但此时页面没有呈现内容,仍是空的。ReadyStateChange事件,发生在文档状态发生改变之后ResetDC事件,发生在一页已换下,下一页开始之前SavingDoc( ByVal Page As Integer, ByVal Of As Integer, CancelAs Boolean) 事件,发生在文档正在保存中,每页保存完毕之后,参数与LoadingDoc一样。StartDoc事件,发生在一个新的文档被建立之后,这时文档是空的。

Alice 发表于 2016-11-14 09:05:57

非常感谢您详尽的反馈。
给您赠送金币。
页: [1]
查看完整版本: vsPrinter控件的使用