API Global (Detailed introduction of API programming) What is the API first, it is necessary to tell you, what is the API. The so-called API is originally written for C and C programmers. The API said that it is a function that they are included in a dynamic connection library file attached to a DLL. In terms of standard definitions, the API is Windows 32-bit application programming interface. It is a very complex function, message and structure that makes programmers to run in Windows95 and Windows NT with different types of programming languages. Applications on the operating system. It can be said that if you have learned VC, then the API is not a problem for you. But if you have not studied VC, or you are not familiar with Windows95 structure system, then you can say that learning API will be a hard thing.
If you open the Windows System folder, you can find a lot of files named DLL. The API function contained in a DLL is not just one, dozens, or even hundreds. Can we also master it? The answer is negative: it is impossible to master. But in fact, we really don't have to master it, just grasp the API function you bring on the Windos system itself. However, a function of repetition of functions from the VB itself should also be thrown away. For example, VB's etattr command can get file properties, and setttr can set file properties. For the API, there are also corresponding functions GetFileAttributes and SetFileAttributes, and performance is similar. In this way, there is 5,600 remaining. Yes, there are a lot. However, I can dare to tell you that as long as you are familiar with 100, then your programming level is at least twice more than now. Although people say VB and Windows have close relationship, I think the API is closer to Windows. If you learn the API, the primary gain is aware of the WINDOWS architecture. This gain is from it is not easy.
What if you don't rely on the API? I can tell you, mostly the advanced programming book (of course, this is not the name of the book is advanced and advanced, but at the beginning "book content" indicated "this book" The reading object of the book is those who have a certain VB based reader). The first question is generally from the API. Therefore, you can say that you don't learn API, you will probably stay in the primary level, can't climb it up. The only way may be to save others: I am dead, come to save me, how to do this, what should I do? Of course, now I am very online, there are too many (including me, 嘻嘻) But you should understand that through this way, your hands can't make good works. This is because the lack of these knowledge your brain is not a general design concept. API Text Overview [Return] Many API functions are very long. Want to see what it looks like? As follows is an example of the API DdeClientTransaction function :Declare Function DdeClientTransaction Lib "user32" (pData As Byte, ByVal cbData As Long, ByVal hConv As Long, ByVal hszItem As Long, ByVal wFmt As Long, ByVal wType As Long, ByVal Dwtimeout As Long, PDWRESULT AS Long AS Long Wow! So long? If you have never been exposed to the API, I think you will definitely be scared. You may think that should not continue to learn. But don't worry, lucky is Microsoft's designers provide us with useful tools, which is the API text viewer. With the API text viewer, we can easily find the function declarations, structural types, and constants required by the program, and then copy it to the clipboard, and finally paste the code segment of the VB program. In most cases, as long as we determine the three aspects of the function, structure and constant needed by the program, you can join them into the block by the above operations of the API text! Function. These are the most basic common sense of learning API, which is far from the huge system content of the API. In the future, we will waste energy (this is never waste)? That is: When is the function when you use, when you use what structure type, what constant is used. API function declaration [return] Let's recall. In VB, how to declare a function? I think, if you are watching this article, then you can absolutely answer this question. The following is a function that you should be familiar with :Function SetFocus (Byval Hwnd As Long), this line code defines a function called setfocus. This function has a line-type data type parameter, and passed by value ( BYVAL), the function will return a long-type data. The declaration of the API function is also very similar. For example, the setfocus function in the API is written this:
Declare Function SetFocus LIB "User32" Alias "setfocus" is a bit complicated. Yes, it is complex. But I can tell you that in addition to these parts, other parts are still the same as what you have learned before. The function of the function is also the same. Such as: DIM DL AS Longdl & = setfoucs (form1.hwnd), but it is clear. It can see the operation mechanism inside yourself, and it is not like the function of VB, which can be found in the online help from VB. The only way is to learn, check the information other than VB.
The DECLARE statement is used to declare references to external processes in the dynamic link library (DLL) in the module level. In this regard, you can write this statement when you remember any API function declaration. The IIB indicates a dynamic link or code resource containing the declared process or function. That is to say, it explains that the function or process from the problem. As in the above example, the setFocus lib "user32" description function setfocus comes from the user32.dll file. The main DLL dynamic connection library files are: ISER32.DLL Windows management. Generate and manage user interfaces for applications. GDI32.DLL graphics device interface. Generate a graphic output of a Windows device KERNEL32.DLL system service. Access the computer resources of the operating system. Note that when the DLL file is not in the Windows or System folder, you must explain its source (path) in the function. As, Alias in the SetFocus Lib "C: / MYDLL / User32" function declaration is optional. Indicates that there is another name (alias) that will be called in the dynamic link library (DLL). For example, alias "setfocus", the other name of the setFocus function in user32.dll is SETFOCUS. How can two names are the same? Of course, it can be different. In many cases, Alias descriptions of the function name, that is, the last character of the alias is often character a, such as the other name of the setWindowsText function, is setwindowstexta, which is represented as Alias "setWindowstexta". This A is just a naming convention for the habit of designers, indicating that the function belongs to the ANSI version.
So, what is the use of alias? In theory, the alias provides a function method that uses another name to call the API. If you specify an alias, even though we call this function by pressing the function behind the DECLARE statement, but in the actual call of the function, it is the primary selection with an alias. For example, the following two functions (Function, ABCD) declarations are valid, they call the same setfocus function: Declare Function setfocus lib "user32" "setfocus" (Byval HWnd As long) (Byval HWnd As long) (Byval HWnd As long) (BYVAL HWND As Long) AS LongDeclare Abcd SetFocus LIB "User32" Alias "setfocus" (Byval Hwnd As Long) As long
It should be noted that when choosing Alias, pay attention to the case of the alias; if you do not choose Alias, the function name must pay attention to case, and cannot be changed. Of course, in many cases, this error occurs if the function declaration is copied directly from the API text! Finally, remind you that the API declaration (including structure, constant) must be placed in the "General Declarations) segment of the form or module. Data Type and" Type Security "[Return] The data type used in the API function is basically and VB The same is true. However, as the Win32's API function, there is no Integer data type. In addition, it does not see the Boolean data type in the API function. Variant data type is in the ANY function, such as Data as Any Although its meaning is to pass parameters that allow any parameter type as a parameter of the API function, there is a certain disadvantage. The reason is that this will make all types of inspections of the target parameters will be turned off. This naturally gives each Type parameter calls bring an opportunity to generate errors.
In order to enforce strict type checks, and avoid the above mentioned issues, one way is to use the above mentioned to Alias technology in the function. Another declaration method can be made if GetDibits for the API function. :GetDIBits following function prototype :Public Declare Function GetDIBits Lib "gdi32" Alias "GetDIBits" (ByVal aHDC As Long, ByVal hBitmap As Long, ByVal nStartScan As Long, ByVal nNumScans As Long, lpBits As Any, lpBI As BITMAPINFO, ByVal wUsage As Long) modified :Public Declare As LongGetDIBits function function GetDIBitsLong Lib "gdi32" Alias "GetDIBits" (ByVal aHDC As Long, ByVal hBitmap As Long, ByVal nStartScan As Long, ByVal nNumScans As Long, lpBits As Long, lpBI As BITMAPINFO Byval Wusage As Long) As Long learned in the previous course, we can understand the prototype GetDibits function, the modified getDibitslong function is also good, and actually call the GetDibits original function specified by Alias. But you should see that the difference between the two is that we enforce the representation of the LPBITS parameter as a long shape in the modified function. This will make the error unit that occurred in the function call to minimize. This method is called "safe type" declaration.
The data types that are often seen in the API function are :long, string, byte, any .... (also these.) Constant [return] For the API constant, there is no special learning. Please see the following code in VB: msg = msgbox ("Hello", VBOKCANCEL) We know, VBOKCANCEL This constant is equal to 1. For the above code, we can write this, without affecting the functionality of the code: msg = msgbox ("Hello", 1), but you are probably less willing to choose the latter, because this will make it understanding the code. This method is also taken by the API. Just the API constant must be done before things, the vb itself can't understand. Its content is still from the API text. Specific forms are as follows, etc.:
Public Const ABM_ACTIVATE = & H6 Public Const RIGHT_CTRL_PRESSED = & H4 Public Const RPC_E_SERVER_DIED = & H80010007Private Const RPC_S_CALL_FAILED_DNE = 1727 & initialization constants, some programs use Global, such as Global Const ABM_ACTIVATE = & H6, but I think the Public can replace it. In the past, I also used Global, but it is not used now. Use this for a while, with that, the programs cannot be consistent, and the at least looks away. The structure of the [return] structure is a statement in the C and C languages. The custom data type is generally referred to in VB. Many friends have already known it. In the field of API, I prefer to call it structure because the API variety of structural types are not I defined (custom). In VB, the API structure is also defined by Type ....... End Type statement. For example, in the API, the definition method of point (POINT) is as follows: Public Type Pointapix As long 'points on the coordinate value of the X coordinate (horizontal coordinates) Y as long' points on the coordinate value on Y coordinate (ordinate) End Type, as defined in the API, the definition of the rectangor structure is as follows: X coordinate TOP as long in the upper left corner of the rectangular TOP AS long 'rectangular Y coordinate Right As LONG' rectangular X coordinate Bottom AS The Y coordinate end type in the lower right corner of the long-rectangle can also be copied from the API text! The variable names in these structures can be changed casually without affecting the structure itself. That is, these member variables are virtual. For example, the POINTAPI structure can be changed to the following: Point of the coordinate value on the X coordinate (horizontal coordinates) MYY as long 'points on the y coordinate (ordinate), end type, but in general There is no such necessary. The structure itself is a type of data, so the specific variable must be declared as this structure when used, in order to be truly used in the program. Structure declaration methods and other data declaration methods, such as the following statement, declare the MYPOINT as a POINTAPI structure type:
The member variable in the MyPoint As PointApi reference structure is also very simple, plus one "." After the structure name, then follow the members variables to be referenced. This is very like a reference to an object of an object in VB. For example, if we assume the value of the X variable in the MyPoint structure that has been declared to the variable Temp & the code is as follows :Temp & = MyPoint.x But especially paying that you don't think that myPoint in the above example is a value. . It is not a value, but the address (pointer). The value and address are completely different concepts. Structure requirements are passed to the Windows function by reference, that is, all API functions, the structure is passed by byref (byref is the default) in the Declare statement). For the conversion of the structure, you don't try to use byval, you will not be gone. Since the structural name is actually pointing to this structure (the first address of this structure), you can also send a specific structure name (see Summary, I highlight this transmission method).
Since the structure is transmitted is a pointer, the function will directly read and write the structure. This feature is well suited to load the results executed by the function in the structure. Summary [Return] The following programs are given to summarize the contents of this lesson. Start VB, create a new project, add a command button, and copy the following code to the code segment, run it. PRIVATE DECLARE FUNCTION GETCURSORPOS LIB "User32" (LPPONT AS POINTAPI) AS Longprivate Type PointApi 'Definition Point (Point) Structure X as long' Point Coordinate Value on X Coordinate (Coordinate) Y AS Long 'Point in Y Coordinate (vertical Coordinate Value End TypeSub PrintCursorpos () DIM DL AS LONGDIM MyPOINT AS POINTAPIDL & = GetCursorpos (MyPoint) 'Call function, get screen mouse coordinates
Debug.print "x =" & str (mypoint.x) & "and" & "y =" & str (mypoint.y) End subircout1_click () PrintCursorpos
End Sub
The output result is (each run may get different results, this is determined by the function call when the function is called, and the position of the mouse pointer is located in the screen) :X = 240 and y = 151
In the program, the getCursorpos function is used to get the position of the mouse pointer on the screen.
In the above example, you can find that a substantial change occurs after the function calls of the Myppint structure in parameters. This is because the structure is caused by byref. Some API functions [return] Windows API
1. Control and message function AdjustWindower gives a window style, calculates the window size of the Target Customer Area Rectangle AnyPopup Judgment screen exists on any pop-up window ArrangeiconicWindows arranged a parent window ATTACHTHREADINPUT connection thread input function BeGindeferWindowPOS Boots the process of building a range of new window locations BringWindOWTOP to bring the specified window to the window list. Cascadewindows Return the window with the Metween the window ChildWindowFromPoint Returns the parent window contains the handle of the first sub-window of the specified point.
CLIENTTSCREEN Judgment window The screen coordinate closewindow, which is represented by the customer area coordinate, minimizes the specified window CopyRect Rectangular content Copy the DeferWindowPOS This function specifies a new window location DestroyWindow Clear the specified window and all its sub-window DrawanImatedRects depicts A series of dynamic rectangular enableWindow specified window Allow or disable all mouse and keyboard input EnddeferWindowPos simultaneously updated the location and status of all windows specified when DeferWindowPos calls and status enumChildWindows for the specified parent window enumeration
ENUMTHREADWINDOWS enumerations All parent windows in the list of the specified task-related window EqualRect judge whether the two rectangular structures are the same in the same FINDWINDOW search window list, the first top-level window in the designation of the specified condition is looking for and specified in the list list. The first sub-window FlashWindow flashing Displays the specified window getActiveWindow Get the handle of the active window GetCapture gets a window's handle, which is currently input thread, and has a mouse capture (mouse activity by it) GetClassInfo gets WNDCLASS structure (or WNDCLASSEX) A copy of the structure, the structure contains a LONG variable entry obtained with the specified class getClasslong obtains the window class GetClassName Get Class Name GetClassword for the specified window GetClientRect Returns the size of the specified window Customer area. GetDesktopWindow got a window (Desktop window) handle of the entire screen (Desktop window) handle getFETFOREGROUNDOPUP getting a handle of the input focus GetFetactivePopup gets the handle GetLastActivePopUp for the recent-activated pop-up window GetLastError for the previous call. API function, use this function to achieve extended error message
GetParent judges the parent window GetTopWindow in the specified window Search for the internal window list, find the handle GetUpdateRect that is subjected to the first window of the specified window, which describes the section of the specified window that needs to be updated to get a window handle, the window With a specific relationship with a certain source, getWindowContexthelpid acquires the help scene ID getWindowl from the window to get information getWindowplace in the structure of the specified window GetWindowPlacement Get the status and location information getWindowRect GetWindowRect Get the range of the entire window, the edge of the window, title Bars, scroll bars and menus, etc. are in this rectangle.
GetWindowText Title (CAPTION) text, or a control content GetWindowTextLength Survey window Title text or control contents GetWindowWord get the information of the specified window structure InflateRect Inflatrecture Inflat Inflatecture Inflat, IntersectRectRect this function in LPDestRect Load a rectangle, which is the two rectangular intersection of LPSRC1RECT and LPSRC2RECT INVALIDATERECT Mask One Window Customer Area or Subdoms ISCHILD to determine if a window is another window or a subordinate window
Isiconic judgment window has minimized IsRectempty to determine if a rectangle is an empty ISWINDOW to determine if a window handle is a valid IsWindowNableD determination window Is active IsWindowUnicode to determine if a window is a Unicode window. This means that the window receives all text-based messages to the Unicode text iswindowvisible determination window to see if the iszoomed judgment window maximizes the LockWindowUpDate lock specified window, prohibits it to update the mapWindowPoint to convert a window customer area coordinate point to the client area of another window coordinate system
MoveWindow changes the location and size of the specified window to make the rectangle to restore a minimized program by applying a specified offset, allowing the rectangle to restore a minimized program, and activate the PtinRect to determine whether the specified point is located in the rectangular internal RedrawWindow Heavy or part of the window ReleaseCapture releases the Current Application Mouse Capture ScreenToClient Judgment Screen On a Specified Point Customer Area ScrollWindow Scroll Window Customer Zone All or Part of ScrollWindowEx, according to additional options, scrolling all or part of the SETACTIVEWINDOW, and activates the specified window setCapture. Mouse capture Set to the specified window SetClasslong Set a long variable entry setClassword to the window class Set an entry set set FocusAPI Set the input focus to the specified window. If necessary, activate the window setForegroundWindow Set the front desk set of the window to the system to specify a window's new parent setRect Set the specified rectangular content SetRectempty Set the rectangle to set the rectangular setWindowContexthelpid to set a help scene for the specified window (context) ID
SetWindowl In Window Settings Information SetWindowPlacement Settings Window Status and Location Information SetWindowPos Specifies a New Location and Status SetWindowText Settings Window Title Text or Control of Content SetWindowWord In Window Settings Information ShowOWNedPopups Or hide all Pop-up Window ShowWindow Control Window All Pop-up Window ShowWindow Control Window SHOWWINDOWASYNC with ShowWindow SubtractRECT Load Rectangle Lprcdst, which is the result of subtracting LPRCSRC2 in rectangular LPRCSRC1
TileWindows is loaded with a tiled sequential window UnionRect A LPDESTRECT target rectangle, which is the result of LPSRC1RECT and LPSRC2RECT Union UpdateWindow to Immediately Update All or Section WindowFromPoint of the ValidateRect The WindowFromPoint returns the handle of the window that contains the specified point. Ignore the mask, hidden and transparent window
2. Hardware and system functions
ActivateKeyboardLayout activates a new keyboard layout. The keyboard layout defines the position and mean of the button on a physical keyboard to generate a simple sound CHARTOEM to convert a string from the ANSI character set to the OEM character set CLIPCURSOR to limit the pointer to the specified area ConvertDefaultlocale to specify a special place The identifier is converted into a real place ID CREATECARET Create an insert (cursor) based on the specified information, and selects it as the default Insert DESTROYCARET clear (destroy) an insert enumcalendarinfo enumeration in the specified "Local" environment Calendar information available
EnumdateFormats lists the long, short date formats enumerations enumeration system installed or supported "Local" settings EnumTimeFormats enumeration system installed or supported "Place" setting EnumTimeFormats enumeration in enumeration system installed or supported Enumeration ENUMTIMEFORMATS enumeration The time format EXITWINDOWSEX exits Windows, and restarts ExpandenvironmentStringsTringstrings with a specific option to expand the environments for freeworroRONMENTSTRINGS translation specified environmental string Getacp Judging the ANSI code page currently being taken.
GetAsyncKeyState determines the function call When the VCRETBLINKTIME determines that the blinking frequency of the insertion target GetCareTPOS determines the current location of the insertion. GetClipCursor obtains a rectangle, which is used to describe the clipping area specified by the mouse pointer getCommandline to get the current command line buffer. One pointer getComputername acquired the name getCPinfo of this computer gets the information related to the specified code page GetCurrencyFormat for the specified "place" setting, format a number GetCursor to get the currently selected mouse pointer to get the currently selected mouse pointer. Getcursorpos get the currently selected mouse pointer. Location GetDateFormat For the specified "local" format, format GETDOUBLICKTIME for a system date to determine that the continuous two mouse clicks will be processed to double-click event, getEnvironmentStrings, which contains a memory block containing the current environment string setting. And return a handle GetEnvironmentVariable to get the value of a environment variable GetInputState determined whether there is any mouse or keyboard event getkbcodepage that is predetermined (wait processing), which is replaced by getOemcp, and the two functions are completely the same GetKeyboardLayout to get a handle, describe the keyboard layout of the specified application
GetKeyboardLayoutList Getting a list of all keyboard layouts for system GetKeyboardLayoutname gets the name of the current active keyboard layout getKeyboardState gets the current status of each virtual key on the keyboard. GetKeyboardType knows the information related to the keyboard. GetKeyNameText is given the premise of the scan code. Judging the key name getKeyState for the processed button, when it is recently input information, it is judged that the state GetLastError specified the virtual key is for the previously called API function, and the extended error message obtained with this function gets the information related to the specified "local".
GetLocalTime acquires local dates and time GetNumberformat for specified "places", format a number Getoemcp in a specific format to determine the Windows code page GetQueUStatus to the OEM and ANSI characters in the OEM and ASI characters. Message Type GetSyscolor Judgment Specifies the Color of Windows Display Object GetSystemDefaultLangid acquired System Default Language ID GetSystemDefaultLcid gets the current default system "Local" getSystemInfo get information about the underlying hardware platform
GetSystemMetrics Returns the information related to the Windows environment gets getSystemTime to get the current system time. This time is "synergistic world time" (ie UTC, also called GMT) format getsystemTIMEADJUSTMENT to make the internal system clock with one External clock signal Source Synchronization GetThreadLocale Location ID GetTickCount to get the current length (milliseconds) getTime (millisecond) getTime (millisecond) getTimeFormat, since Windows startup, formatted a system time in a specific format
GetTimeZoneInformation obtains information about the system time zone settings GetUserDefaultLangId gets the default language ID GetUserDefaultlcid gets the current user's default "place" setting getUserName gets the current user's name GetVersion to determine the current Run Windows and DOS version GetVersionEx acquire the platform and operating system Version Information Hidecaret Hide Insert (Cursor) ISValidCodePage Determined A Code Page Is Valid IsValidLocale Judgment Local Layer The Map The Keyboard Action LoadKeyboardLayout Load MapVirtualKey The MAPVIRTUALKEY Different by the specified mapping type Scan code and character conversion mappvirtualKeyex performs different scan code and character conversion messagebeep to play a system sound based on the specified mapping type. The allocation scheme of the system sound is the mouse_event to simulate a mouse event OemKeyscan to determine the scan code of an ASCII character in the OEM character set and the SHIFT key status OEMTOCHAR converts a string of the OEM character set to ansi character set.
SetCareTBlinkTime Specifies the Blinking Frequency SetCareTPOS Specifying the Pixcurs Port SetComputerName Set the new computer name setCursor Set the specified mouse pointer to the current pointer setCursorpos Setting Pointer position SetDoubleClickTime Settings Continuous Two mouse clicks It is considered that the interval of double-clicking the event. SetEnvironmentvariable sets an environment variable to the specified value setKeyboardState sets each virtual key. SitLocaleInfo changes on the keyboard to change the user "local" setting information.
SetLocalTime set the current local time SetSysColors setting designation window display color SetSystemCursor object change any standard system pointer SetSystemTime set the current system time SetSystemTimeAdjustment timing of adding a calibration value of the clock to an external internal system clock source synchronized SetThreadLocale current thread provided where SetTimeZoneInformation Setting System Time Zone Information Showcaret Displays the Insert (Cursor) Showcursor Control Mouse Pointer with SwapMouseButton to Decide whether to switch the mouse button
SystemParametersInfo Gets and Sets the number of Windows System Parameters SystemTimeTimtotzspecificLocalTime converts system time to local time toASCII Depending on the current scan code and keyboard information, the virtual key is converted to ASCII character TOUNICODE according to the current scan code and keyboard information, will a virtual key Convert into Unicode Character UnloadKeyboardLayout Uninstalls the specified keyboard layout VKKEYSCAN to set an ASCII character for Windows characters, determine the status of the virtual key code and SHIFT
3. Menu function
Appendmenu Adds a menu item in the specified menu CheckMenuItem check or revoke the specified menu entry CheckMenuradioItem specifies that a menu entry is checked as "radio" project createMenu Creating a new menu CreatePopUpMenu Creating an empty pop-up menu DeleteMenu Delete Spelected Menu entry DestroyMenu Removes the specified menu DrawMenuBar for the specified window Heavy painting menu EnableMenuItem allows or disables the specified menu entry GetMenu to get a menu in the window GetMenuCheckMarkDimensions returns a menu check.
GetMenuContexthelpid acquires a menu helps the Scene ID GetMenudefault Decision menu which entries in the menu are the default entry GetMenuItemCount Return to the Number of entries (menu items) GetMenuItemID Returns menu ID GetMenuItemInfo, which is specified in the menu, get (reception) with a menu The specific information of the entry GetMenuItemRect The screen coordinate information of the specified menu entry in a rectangle GetMenUState obtains the information related to the specified menu entry status getSubMenu gets the specified menu entry GetSubmenu to obtain a handle of a pop-up menu, which is specified in the menu Location GetSystemMenu Gets the HiliteMenuItem handle of the system menu of the specified window HiliteMenuItem Control Top Menu Entries Insert a menu entry at the specified location of the menu, and put other entries down to move the InsertMenuItem as needed to insert a new menu entries ISMENU judgment The specified handle is a menu handle loadMenu load a menu load from the specified module or application instance Load a menu loadMenuIndirect load a menu MenuItemFromPoint to determine which menu entry contains a specified point MODIFYMENU to change the menu entry
RemoveMenu Delete Specified Menu Entries SetMenu Settings Window Menu SetMenuContextHelpid Setting up a menu IdsetMenudefaultItem Sets a menu bar to the default entry SetMenuItemBitmaps Set a specific bitmap, which is used in the specified menu entry, replacing the standard check symbol (√) SetMenuItemInfo Sets the specified information for a menu entry TRACKPOPUPMENU to display a poppoppopupMenuex with TRACKPOPUPMENU, but it provides additional functions
Finish
The following is a few types of menu functions that menu ITEMINFO contain menu entries TPMPARAMS for TRACKPOPUPMENUEX functions to support additional features.
4. Drawing function
Abortpath Abandon all paths in the specified device scenario. Create a job in any path currently ongoing Anglearc Painting an arc BeginPath with a connection arc Pictures to launch a path branch canceldc Cancel the long-time drawing in another thread CHORD Painting a string closeenhmetafile Turn off the specified enhancement The metafile device scene, and returns a newly created element file to a handlefigure when depicting a path, turn off the currently open graphic closemetafile closes the specified element file device scene and return a handle to the newly created element file.
Copyenhmetafile makes a copy of the specified enhanced element file (copy) CopyMetafile creates a copy of the specified (standard) element file CreatebrushDirect creates a brush createDibpatternbrush on a logbrush data structure to create a bitmap-independent bitmap Brush to specify a brush style (pattern) CREANHMETAFILE Create a enhanced element file device Scene CreateHatchBrush Creating a brush CreateMetafile with shadow pattern Creating a chamfer file device Scene CreatePatternBrush Create a bitmap specifying a brush pattern brush
Createpen Create a brush CreatepenIndirecture with the specified style, width, and color Creating a brush CreateSolidbrush based on the specified Logpen structure Creating a brush DELEENHMETAFILE Delete the specified enhancement element DELETEMETAFILE Delete the specified element file DeleteObject Delete the GDI object, object use All system resources will be released by DrawEdge to depict a rectangular border DrawScape Croce (ESCAPE) function to display data directly to the display device driver DrawFOCUSRECT draw a focus rectangular DrawFrameControl depicts a standard control DrawState as an image or Drawing Operation Application Ellipse plots an ellipse, stops a path ENUMENHMETAFILE to define a path ENUMENHMETAFILE for a reinforced element file, enumerate a standard Windows Modu file Enumerating a separate chamber logging Enumjects enumeration can use the brush and brush Extcreatepen that specifies the device scene to create an extension brush (decorative or geometric) extfloodfill in the specified device scene, populate a region with the currently selected brush
FillPath Close any open graphics in the path, and fill the FillRect with the current brush FillRect with a specified brush to convert all the curves in a path into line segment floodfill with the currently selected brush to populate a zone FrameRect in the specified device scenario With the specified brush, a border GDICOMMENT with a specified brush adds a comment information for the specified enhanced element file device Scenario Add a comment message. Drawing commands can enter the queue
When the GetarcDirection is painted, it is judged that the currently used drawing direction getBKColor acquires the current background color GetBkmode for the specified device scene. Get the current background fill mode Getbrushorgex Judgment The currently selected brush starting point GetCurrentObject in the specified device scene GetCurrentObject Get the specified type. Current Selected Objects GetCurrentPositionEx acquires the current brush position getnhmetafile to get the current brush position getenhmetafile acquired a enhanced element file containing the disk file GetenhmetafileBits copies the specified enhancement element file to a memory buffer in
GetENHMETAFILEDESCRIPTION Returns the description of a enhanced element file GetenhmetafileHeader gets the element file header of the enhanced element file getnhmetafilepaletteenTries gets all or part of the palette GetMetAfile to enable in a disk file. Module file handle GetMetAfileBitsex Copy the specified element file to a memory buffer getMiterlimit to get the slope limit of the device scene (MITER) Sets GetNearestColor to obtain a solid color that is closest to the specified color according to the display capabilities of the device
GetObjectAPI acquires a structure GetObjectType for the specified object to determine the type getPath obtained by the specified handle reference GETPATH to obtain a series of data defined for the current path to get a pixel in the specified device scenario. Scenario, get polygon padding mode Getrop2 For the specified device scene, get the current drawing mode getStockObject get a solid object (stock) getSysColorbrush to any standard system color acquisition a brush GetWinMetafilebitS through a buffer to fill in a buffer for standard primitives Data of files, convert a enhanced element file into a standard Windows element file InvertRect By reversing each pixel value, reverses all points specified in a device scenario LINETO in the specified line segment of LINETO. Painting pen draws a line from the current location to a designated point