VB编程的几个小问题
发布网友
发布时间:2023-09-07 15:58
我来回答
共1个回答
热心网友
时间:2023-09-17 14:48
1、来自msdn:
Opcode 可选的。是长型值或仅由位图使用的代码。它用来定义在将 pictur 绘制到 object 上时对 picture 执行的位操作(例如, vbMergeCopy 或 vbSrcAnd 操作符)。关于位操作符常数的完整列表,请参阅 Visual Basic Help 文件中的 RasterOp Constants 主题。
在使用opcode时有一些*。例如,如果资源是图标或图元文件,则只能使用 vbSrcCopy,而不能使用其他的opcode;并且,与图案 (或 SDK 术语中的"画笔"),如 MERGECOPY、 PATCOPY、 PATPAINT 和 PATINVERT,相交互的opcode实际上是同目标的 FillStyle 属*互。
注意 Opcode 用于将按位操作传递到位图。当传递其他图象类型时将一个值给该参数会造成“无效过程调用或参数”错误。这是设计的原因。要避免这个错误,对于除位图外的图象,将 Opcode 参数置为空。
RasterOp 常数:
vbDstInvert &H00550009 反转目标位图
vbMergeCopy &H00C000CA 合并模式和源位图
vbMergePaint &H00BB0226 用 Or 运算合并反转的源位图和目标位图
vbNotSrcCopy &H00330008 将反转的源位图复制到目标
vbNotSrcErase &H001100A6 用 Or 运算合并源位图和目标位图,然后反转
vbPatCopy &H00F00021L 将模式复制到目标位图
vbPatInvert &H005A0049L 用 Xor 运算合并目标位图与模式
vbPatPaint &H00FB0A09L 用 Or 运算合并反转的源位图与模式。然后用 Or 运算合并上述结果与目标位图
vbSrcAnd &H008800C6 用 And 运算合并目标像素与源位图
vbSrcCopy &H00CC0020 将源位图复制到目标位图
vbSrcErase &H00440328 反转目标位图并用 And 运算合并所得结果与源位图
vbSrcInvert &H00660046 用 Xor 运算合并目标像素和源位图
vbSrcPaint &H00EE0086 用 Or 运算合并目标像素和源位图
2、用GetPixel 函数返回屏幕上某点的颜色。其中屏幕的hDC可以通过调用函数 GetWindowDC(0) 获得
Private Declare Function GetWindowDC Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function GetPixel Lib "gdi32" (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long) As Long
6、就是系统或者其它程序提供的函数,可以理解为是对内部函数(如paintpicture pset等)的扩展。调用前要定义。如上面列举的两个api的定义。把它复制到窗体模块的顶端就可以了。
其它的不懂