HOWTO: Use Windows BitBlt Function in Visual Basic ApplicationLast reviewed: October 7, 1997Article ID: Q147810 |
The information in this article applies to:
SUMMARYWindows GDI.EXE has a function called BitBlt that will move the source device given by the hSrcDC parameter to the destination device given by the hDestDC parameter. This article explains in detail the arguments of the Windows BitBlt function call.
MORE INFORMATIONTo use BitBlt within a Visual Basic application: Use the following Declare statement to declare the Function in 16-bit Visual Basic. (If the declaration is placed in the General Declarations section of a Form, the keyword Private must be placed at the beginning of the declaration.)
Declare Function BitBlt Lib "GDI" (ByVal hDestDC%, ByVal X%, ByVal Y%, _ByVal nWidth%, ByVal nHeight%, ByVal hSrcDC%, ByVal XSrc%, ByVal _ YSrc%, ByVal dwRop&) As Integer If you are using the 32-bit version of Visual Basic use the following Declare statement. (If the declaration is placed in the General Declarations section of a Form, the keyword Private must be placed at the beginning of the declaration.)
Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal x As _Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, _ ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal _ dwRop As Long) As Long The following defines each of the formal parameters used in the Declare:
Parameter Definition
hDestDC Specifies the device context that is to receive the bitmap. X,Y Specifies the logical x-coordinate and y-coordinate of the upper-left corner of the destination rectangle. nWidth Specifies the width (in logical units) of the destination rectangle and the source bitmap.nHeight Specifies the height (in logical units) of the destination rectangle and the source bitmap. hSrcDC Identifies the device context from which the bitmap will be copied. It must be NULL(zero) if the dwRop& parameter specifies a raster operation that does not include a source.XSrc Specifies the logical x-coordinate and the y-coordinate of the upper- left corner of the source bitmap.dwRop Specifies the raster operation to be performed as defined below. The following Raster operations are defined using the predefined constants found in the WINDOWS.H file supplied with the Microsoft Windows Software Development Kit (SDK). The value in the parentheses () is the value to assign to the dwRop& variable.
Code/Value (hex) Description
BLACKNESS (42) Turn output black. DSINVERT(550009) Inverts the destination bitmap. MERGECOPY(C000CA) Combines the pattern and the source bitmap using the Boolean AND operation. MERGEPAINT(BB0226) Combines the inverted source bitmap with the destination bitmap using the Boolean OR operator. NOTSRCCOPY(330008) Copies the inverted source bitmap to the destination.NOTSRCERASE(1100A6) Inverts the result of combining the destination and source bitmap using the Boolean OR operator. PATCOPY(F00021) Copies the pattern to the destination bitmap. PATINVERT(5A0049) Combines the destination bitmap with the pattern using the Boolean XOR operator. PATPAINT(FB0A09) Combines the inverted source bitmap with the pattern using the Boolean OR operator. Combines the result of this operation with the destination bitmap using the Boolean OR operator. SRCAND(8800C6) Combines pixels of the destination and source bitmap using the Boolean AND operator. SRCCOPY(CC0020) Copies the source bitmap to destination bitmap. SRCERASE(4400328) Inverts the destination bitmap and combines the results with the source bitmap using the Boolean AND operator. SRCINVERT(660046) Combines pixels of the destination and source bitmap using the Boolean XOR operator. SRCPAINT(EE0086) Combines pixels of the destination and source bitmap using the Boolean OR operator. WHITENESS(FF0062) Turns all output white. Step-by-Step ExampleHere is an example showing how to copy the contents of a picture control to the contents of another picture control.
Keywords : APrgGrap vb416 VB4WIN kbgraphic kbfasttip Version : 4.0 Platform : WINDOWS Issue type : kbhowto |
================================================================================
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |