PictureClip 控件

PictureClip 控件允许选择源位图的区域，然后在窗体或图片框中显示那个区域的图象。PictureClip 控件运行时不可见。能在 PictureClip 控件中使用的都是典型位图：

文件名

PICCLP32.OCX

类名

PictureClip

说明

PictureClip 控件为保存多图片源提供了有效的机制。可创建一个包含应用程序所需要的源位图来代替多个位图或图标。需要显示单个图标时，使用 PictureClip 控件在该源位图中选择包含该图标的区域。

例如，能使用这个控件来保存应用程序显示工具箱时所需要的全部图象。在一个 PictureClip 控件中保存工具箱所有图片比分别在各图片框中保存各个图片更有效。为此，首先要建立一个源位图，该源位图包含工具栏的所有图标。在此主题顶部的图片就是这种位图的示例。

注意   对国际本地化应用程序，资源文件有时是保存位图更有用的方法。详细信息，请参阅 Visual Basic 《程序员指南》中的第十六章“国际化”。

在源位图中指定裁剪区域有两种方法：

•	选择源位图的任意部分作为裁剪区域。用 ClipX 和 ClipY 属性指定裁剪区域的左上角。用 ClipHeight 和 ClipWidth 属性指定裁剪区域的范围。这种方法在想要查看位图的随机分区时是有用的。

•	将源位图划分成指定的行数和列数。结果得到一个编号为 0、1、2 等等的图片单元的统一矩阵。用 GraphicCell 属性能显示各个单元。在源位图包含了要分别显示的图标板时，这种方法是有用的，如工具栏位图就是这样。

用 Picture 属性将源位图加载到 PictureClip 控件。只能将位图 (.bmp) 文件加载到 PictureClip 控件。

发行注意   当建立和发布使用 PictureClip 控件的应用程序时，应该在用户的 Microsoft Windows 的 System 或 System32 子目录中安装 PicClp32.ocx。包括在 Visual Basic 中的 Setup Kit  提供工具，它用来帮助写能正确地安装应用程序的安装程序。


Clip 属性（PictureClip 控件）

返回 PictureClip 控件中指定区域的位图，该区域由 ClipX、ClipY、ClipWidth 和 ClipHeight 属性指定。此属性在运行时只读。

语法

[form.]PictureClip.Clip

说明

从选择的位图中指定随机裁剪区域应使用这种属性。

当 Visual Basic 中将 Clip 图象赋值给图片控件时，应确保为图片控件设置的 ScaleMode 属性为 3（像素）。由于定义裁剪区域的 ClipHeight 和 ClipWidth 属性是用像素度量的，因此必须使用像素。

数据类型

Integer


Clip 示例（PictureClip 控件）

Visual Basic 示例

当指定 X 和 Y 坐标然后单击窗体时，下面的示例将在图片框中显示 Clip 图象。首先用 PictureBox、PictureClip 和两个 TextBox 控件创建一个窗体。在设计时，用属性工作表将有效的位图加载到 PictureClip 控件。

Private Sub Form_Click ()

Dim SaveMode As Integer

'为图片框保存当前的 ScaleMode。

SaveMode = Picture1.ScaleMode

'获得裁剪区域的 X 和 Y 坐标。

PicClip1.ClipX = Val(Text1.Text)

PicClip1.ClipY = Val(Text2.Text)

'设置裁剪区域的范围（用像素）。

PicClip1.ClipHeight = 100

PicClip1.ClipWidth = 100

'设置图片框 ScaleMode 为像素。

Picture1.ScaleMode = 3

'设置的为填充图片框目标范围。

PicClip1.StretchX = Picture1.ScaleWidth

PicClip1.StretchY = Picture1.ScaleHeight

'为图片框指定裁剪位图。

Picture1.Picture = PicClip1.Clip

'使图片框的 ScaleMode 复位。

Picture1.ScaleMode = SaveMode

End Sub


ClipHeight 属性（PictureClip 控件）

指定由 Clip 属性所复制的位图部分的高度。此属性设计时不可用。

语法

[form.]PictureClip.ClipHeight[ = Height%]

说明

这种属性是用像素度量的。

数据类型

Integer


ClipWidth 属性（PictureClip 控件)

指定由 Clip 属性所复制的位图部分的宽度。此属性设计时不可用。

语法

[form.]PictureClip.ClipWidth[ = Width%]

说明

这种属性是用像素度量的。

数据类型

Integer


ClipX 属性（PictureClip 控件）

指定由 Clip 属性所复制的位图部分左上角的 x - 坐标。此属性设计时不可用。

语法

[form.]PictureClip.ClipX[ = X%]

说明

这种属性是用像素度量的。

数据类型

Integer


ClipY 属性（PictureClip 控件）

指定由 Clip 属性所复制的位图部分左上角的 y- 坐标。此属性设计时不可用。

语法

[form.]PictureClip.ClipY[ = Y%]

说明

这种属性是用像素度量的。

数据类型

Integer


Cols、Rows 属性（PictureClip 控件）

设置或返回图片中列或行的总数。

语法

[form.]PictureClip.Cols[ = cols%]

[form.]PictureClip.Rows[ = rows%]

说明

用这些属性将源位图划分成图片单元的统一矩阵。使用 GraphicCell 属性可指定各个单元。

PictureClip 控件至少必须有一列或一行。

每一个图形单元的高度是由源位图的高度除以指定行数来决定。源位图底部剩余像素（由整数四舍五入引起的）方法裁剪。

每一个图形单元的宽度是由源位图的宽度除以指定行数来决定。源位图右边剩余像素（由整数四舍五入引起的）方法裁剪。

数据类型

Integer


GraphicCell 属性（PictureClip 控件）

代表所有图片单元的一维图片数组。此属性设计时不可用，运行时只读。

语法

[form.]PictureClip.GraphicCell (Index%)

说明

•	用 Rows 和 Cols 属性将图片划分成图形单元的统一矩阵。

•	由 GraphicCell 对指定单元进行索引，从 0 开始，从左到右，从上到下增加。

•	当读此属性时，如果没有图片或 Rows 或 Cols 属性设置为零时，将产生错误。

数据类型

Integer


Height、Width 属性（PictureClip 控件）

返回控件中所包含位图的高度和宽度（按像素）。这些属性设计时不可用，运行时只读。

语法

[form.]PictureClip.Height

[form.]PictureClip.Width

说明

这些属性仅当控件包含位图时有效。

在设计时用 Visual Basic 中的属性工作表能将位图加载到 PictureClip 控件中，在运行时用 LoadPicture 函数也能将位图加载到 PictureClip 控件中。

数据类型

Integer


Picture 属性（PictureClip 控件）

此属性与 Visual Basic 标准 Picture 属性相同，除了它仅支持位图 (.bmp) 文件之外。


StretchX、StretchY 属性（PictureClip 控件）

为用 Clip 属性所创建的位图指定其目标的大小。此属性设计时不可用。

语法

[form.]PictureClip.StretchX[ = X%]

[form.]PictureClip.StretchY[ = Y%]

说明

用这些属性定义用以复制 Clip 位图的范围。当复制位图时，为使其适合 StretchX 和 StretchY 定义的范围，它不是伸展就是压缩。

StretchX 和 StretchY 是用像素度量的。

注意   在 Visual Basic 中，缺省 ScaleMode 对窗体和图片框是缇。对所有显示来自 PictureClip 控件图片的控件，应设置 ScaleMode = 3（像素）。

数据类型

Integer


CellHeight、CellWidth 属性（PictureClip 控件）

返回 PictureClip 控件的 GraphicCell 属性的高度和宽度的像素数。

语法

object.CellHeight

object.CellWidth

object 所在处表示对象表达式，其值是一个 PictureClip 控件。

说明

CellHeight 和 CellWidth 属性取决于 PictureClip 控件的 Cols 和 Rows 属性。例如，一幅划分成四列和四行的图片将成为 GraphicCell，它是相同图片划分成八列和八行两倍的大小。


错误信息（PictureClip 控件）

下表列出 PictureClip 控件的可捕获错误。

错误号	常数	描述— 信息解释
7	picOutOfMemory	溢出内存。
383	picSetNotPermitted picSetNotSupported	在该控件中不能设置属性。属性是只读的。
394	picGetNotSupported	属性是只写的。
32000	picInvalidPictureFormat	不支持的图片格式。
		只能将位图 (.bmp) 文件加载到 PictureClip 控件中。
32001	picDisplayContext	不能获得显示上下文。
32002	picMemDevContext	不能获得存储设备上下文。
32003	picBitmap	不能获得位图。
32004	picSelBitmapObj	不能选择位图对象。
32005	picIntPicStruct	不能分配内部图片结构。
32006	picBadIndex	GraphicCell 索引无效。
		GraphicCell 属性的 index 参数超出范围。该参数必须在范围 0 到 (PicClip.Rows * PicClip.Cols) 1 之内。
32007	picNoPicSize	没有 GraphicCell 图片指定的尺寸。
32008	picBitmapsOnly	只允许位图 GraphicCell 图片。
32010	picBadClip	GraphicCell PictureClip 属性请求无效。
32012	picGetObjFailed	GetObject() Windows 函数失败。
		对 Windows 函数 GetObject () 的调用失败。
32014	pic	Windows 函数 GlobalAlloc() 失败。
		对 Windows 函数 GlobalAlloc () 的调用失败。
32015	picClipBounds	裁剪区域边界错误。
		ClipHeight 和 ClipWidth 属性指定的坐标，它们超过位图加载到 PictureClip 控件的边界。
32016	picCellTooSmall	单元格尺寸太小（必须至少是 1 * 1 像素）。
32017	picRowNotPositive	Rows 属性必须大于零。
32018	picColNotPositive	Cols 属性必须大于零。
32019	picStretchXNegative	StretchX 属性不能为负。
32020	picStretchYNegative	StretchY 属性不能为负。
32021	picNoPicture	没有图片赋值。


Change 事件（占位符）


Click 事件（占位符）


DblClick 事件（占位符）


DragDrop 事件（占位符）


DragOver 事件（占位符）


KeyDown 事件（占位符）


KeyPress 事件（占位符）


KeyUp 事件（占位符）


MouseDown 事件（占位符）


MouseMove 事件（占位符）


MouseUp 事件（占位符）


OLECompleteDrag 事件（占位符）


OLEDragDrop 事件（占位符）


OLEDragOver 事件（占位符）


OLEGiveFeedback 事件（占位符）


OLESetData 事件（占位符）


OLEStartDrag 事件（占位符）


Refresh 方法（占位符）


OLEDrag 方法（占位符）


Appearance 属性（占位符）


BackColor 属性（占位符）


Caption 属性（占位符）


Enabled 属性（占位符）


Font 属性（占位符）


ForeColor 属性（占位符）


IntegralHeight 属性（占位符）


Locked 属性（占位符）


MouseIcon 属性（占位符）


MousePointer 属性（占位符）


OLEDragMode 属性（占位符）


OLEDropMode 属性（占位符）


SelLength 属性（占位符）


SelStart 属性（占位符）


SelText 属性（占位符）


Style 属性（占位符）


Text 属性（占位符）


未找到关键字

不能在 Visual Basic 帮助中找到已选择的关键字。可能是该关键字拼写有误、过多或过少选择文本、或所要寻求帮助的词不是有效的 Visual Basic 关键字。

要获得关于特定关键字的帮助，最简单的方法就是把插入点放到想要获得帮助的关键字内的任何地方，然后按 F1 键。不必选中该关键字。事实上，如果只选中了关键字的一部分，或超过了一个单词，“帮助”将不能找到要查找的内容。

要使用内置的“帮助”查找对话框，请按下工具栏上的“帮助主题”按钮。


Left、Top 属性（占位符）


Height、Width 属性（占位符）


Tag 属性（占位符）


ToolTipText 属性（占位符）


Count 属性（占位符）


Item 方法（占位符）


Hwnd 属性（占位符）


TabStop 属性（占位符）


Visible 属性（占位符）


Picture 属性（占位符）


Max, Min 属性（占位符）


Add 方法（占位符）


Clear 方法（占位符）


Container 属性（占位符）


控件集合（占位符）


Copies 属性（占位符）


DataBinding 对象（占位符）


DataBindings 集合（占位符）


Filename 属性（占位符）


FontBold、FontItalic、FontStrikeThru 属性（占位符）


FontName 属性（占位符）


FontSize 属性（占位符）


GetData 方法（占位符）


GetFormat 方法（占位符）


HelpFile 属性（占位符）


Item 属性（占位符）


Remove 方法（占位符）


SetData 方法（占位符）


Align 属性（占位符）


DragIcon 属性（占位符）


DragMode 属性（占位符）


HelpContextID 属性（占位符）


TabIndex 属性（占位符）


Alignment 常数（占位符）


Border 属性常数（占位符）


BorderStyle 常数（占位符）


BorderStyle 属性（ActiveX 控件）（占位符）


Clear 方法（ActiveX 控件）（占位符）


Clipboard 对象常数（占位符）


Color 常数（占位符）


CommonDialog 控件常数（占位符）


CommonDialog 错误常数（占位符）


Control 常数（占位符）


DataBindings 属性（占位符）


DDE 常数（占位符）


Drag-and-Drop 常数（占位符）


Drawing 常数（占位符）


FetchVerbs 方法（占位符）


Form 常数（占位符）


Graphics 常数（占位符）


Grid 控件常数（占位符）


Help 常数（占位符）


HideSelection 属性（ActiveX 控件）（占位符）


HideSelection 属性（占位符）


Image 属性（ActiveX 控件）（占位符）


ImageList 属性（ActiveX 控件）（占位符）


Index 属性（ActiveX 控件）（占位符）


Index 属性（占位符）


Key Code 常数（占位符）


Key 属性（ActiveX 控件）（占位符）


Menu Accelerator 常数（占位符）


Menu Control 常数（占位符）


Miscellaneous 常数（占位符）


MousePointer 常数（占位符）


OLE Container Control 常数（占位符）


Picture Object 常数（占位符）


Printer Object 常数（占位符）


RasterOp 常数（占位符）


Remove 方法（ActiveX 控件）（占位符）


ShowInTaskbar 属性（占位符）


ShowTips 属性（ActiveX 控件）（占位符）


ShowWhatsThis 方法（占位符）


Text 属性（ActiveX 控件）（占位符）


Value 属性（ActiveX 控件）（占位符）


Variant Type 常数（占位符）


Visual Basic 常数（占位符）


WhatsThisButton 属性（占位符）


WhatsThisHelp 属性（占位符）


WhatsThisHelpID 属性（占位符）


WhatsThisMode 方法（占位符）


Windows 95 控件常数（占位符）


ColIsVisible 属性（占位符）


ColPos 属性（占位符）


DataObject 对象（占位符）


DataObjectFiles 集合（占位符）


DataSource 属性（占位符）


Drag 方法（占位符）


DrawMode 属性（占位符）


FixedAlignment 属性（占位符）


GotFocus 事件（占位符）


GridLineWidth 属性（占位符）


Index 属性（控件数组）（占位符）


LostFocus 事件（占位符）


Move 方法（占位符）


Name 属性（占位符）


Object 属性（占位符）


Parent 属性（占位符）


RowColChange 事件（占位符）


RowIsVisible 属性（占位符）


RowPos 属性（占位符）


SetFocus 方法（占位符）


ZOrder 方法（占位符）


Files 方法（占位符）


Connect 事件（占位符）


HScrollSmallChange、VScrollSmallChange 属性（占位符）


MinHeight、MinWidth 属性（占位符）


“属性页”对话框（占位符）


RemoteHost 属性（占位符）


RemotePort 属性（占位符）


ViewportHeight、ViewportLeft、ViewportTop、ViewportWidth 属性（占位符）


Resync 方法（远程数据）（占位符）


ContainedVBControls 集合（占位符）


Member 对象（占位符）


Members 集合（占位符）


VBComponentsEvents 对象（占位符）


VBProjectsEvents 对象（占位符）


Files 属性（占位符）


Alignment 属性（占位符）


AboutBox 方法（占位符）


Col, Row 属性（占位符）


RowHeight 属性（占位符）


Scroll 事件（占位符）


ScrollBars 属性（占位符）


SelEndCol, SelStartCol, SelEndRow, SelStartRow 属性（占位符）


Appearance 属性 (ActiveX 控件) (placeholder)


BackColor, ForeColor 属性 (ActiveX 控件) (placeholder)


BorderStyle 常数 (ActiveX 控件) (placeholder)


Caption 属性 (ActiveX 控件) (placeholder)


Change 事件 (ActiveX 控件) (placeholder)


Clear 方法 (ActiveX 控件) (placeholder)


Click 事件 (ActiveX 控件) (placeholder)


Clipboard Object 常数 (ActiveX 控件) (placeholder)


Count 属性 (ActiveX 控件) (placeholder)


DataObject Object (ActiveX 控件) (placeholder)


DataObjectFiles 集合 (ActiveX 控件) (placeholder)


DataSource 属性 (ActiveX 控件) (placeholder)


DblClick 事件 (ActiveX 控件) (placeholder)


Drag-and-Drop 常数 (ActiveX 控件) (placeholder)


Enabled 属性 (ActiveX 控件) (placeholder)


FetchVerbs 方法 (ActiveX 控件) (placeholder)


Files 方法 (ActiveX 控件) (placeholder)


Font 属性 (ActiveX 控件) (placeholder)


FontName 属性 (ActiveX 控件) (placeholder)


FontSize 属性 (ActiveX placeholder)


GetData 方法 (ActiveX 控件) (placeholder)


GetFormat 方法 (ActiveX 控件) (placeholder)


HideSelection 属性 (ActiveX 控件) (complaceholder)


hWnd 属性 (ActiveX 控件) (placeholder)


Item 方法 (ActiveX 控件) (placeholder)


Key Code 常数 (ActiveX 控件) (placeholder)


Key 属性 (ActiveX 控件) (complaceholder)


KeyDown, KeyUp 事件 (ActiveX 控件) (placeholder)


KeyPress 事件 (ActiveX 控件) (placeholder)


Max, Min 属性 (ActiveX 控件) (placeholder)


MouseDown, MouseUp 事件 (ActiveX 控件) (placeholder)


MouseIcon 属性 (ActiveX 控件) (placeholder)


MouseMove 事件 (ActiveX 控件) (placeholder)


MousePointer 常数 (ActiveX 控件) (placeholder)


MousePointer 属性 (ActiveX 控件) (placeholder)


OLECompleteDrag 事件 (ActiveX 控件) (placeholder)


OLEDrag 方法 (ActiveX 控件) (placeholder)


OLEDragDrop 事件 (ActiveX 控件) (placeholder)


OLEDragMode 属性 (ActiveX 控件) (placeholder)


OLEDragOver 事件 (ActiveX 控件) (placeholder)


OLEDropMode 属性 (ActiveX 控件) (placeholder)


OLEGiveFeedback 事件 (ActiveX 控件) (placeholder)


OLESetData 事件 (ActiveX 控件) (placeholder)


OLEStartDrag 事件 (ActiveX 控件) (placeholder)


Picture 属性 (ActiveX 控件) (placeholder)


属性页对话框 (ActiveX 控件) (placeholder)


RemoteHost 属性 (ActiveX 控件) (placeholder)


RemotePort 属性 (ActiveX 控件) (placeholder)


SelLength, SelStart, SelText 属性 (ActiveX 控件) (placeholder)


SetData 方法 (ActiveX 控件) (placeholder)


ShowTips 属性 (ActiveX 控件) (complaceholder)


Text 属性 (ActiveX 控件) (complaceholder)


Value 属性 (ActiveX 控件) (complaceholder)


hDC 属性 (ActiveX 控件) (complaceholder)


Height, Width 属性 (ActiveX 控件) (complaceholder)


Index 属性 (ActiveX 控件) (complaceholder)


Left, Top 属性 (ActiveX 控件) (complaceholder)


Tag 属性 (ActiveX 控件) (complaceholder)


Visible 属性 (ActiveX 控件) (complaceholder)


Remove 方法 (ActiveX 控件) (complaceholder)


Object 属性 (ActiveX 控件) (placeholder)


属性页 (ActiveX 控件) (placeholder)


字体不存在 (错误 24574) (公用对话框控件) (complaceholder)


帮助内容placeholder


BorderStyle 属性 (ActiveX 控件) (placeholder)


RightToLeft 属性 (ActiveX 控件) (placeholder)


Refresh 方法 (ActiveX 控件) (placeholder)