version 2003
PA_GetUpdateHDC long
Parameter | Type | Description | ||||
This command does not require any parameters | ||||||
Function result | long | HDC where the area can draw |
Description
The routine PA_GetUpdateHDC works only under Windows. It returns the current Device Context that the plug-in can use to draw whatever it wants.
This routine must be called when PA_GetAreaEvent returns eAE_Update. Otherwise, it does nothing and PA_GetLastError returns eER_BadEventCall.
Example
Sample Drawing in the Design environment. Assuming the usual dispatch in PluginMain has been done. PluginMain calls the area main routine.
void DoArea (PA_PluginParameters params) { PA_AreaEvent event = PA_GetAreaEvent(params); switch(event) { /* . . . */ case eAE_DesignUpdate : { HDC hdc; PA_Rect rect; // tell 4D we will draw ourselves PA_CustomizeDesignMode( params ); // get the HDC and the area rect hdc = (HDC) PA_GetUpdateHDC(); rect = PA_GetAreaRect( params ); // Paint something AreaPaint( hdc, rect ); } break; } void AreaPaint( HDC hdc, PA_Rect parect ) { HBRUSH hbrush; RECT rect; HGDIOBJ old; // We need to use a Windows RECT rect.left = parect.fLeft; rect.top = parect.fTop; rect.right = parect.fRight; rect.bottom = parect.fBottom; hbrush = CreateSolidBrush( 0 ); old = SelectObject( hdc, hbrush ); FrameRect( hdc, &rect, hbrush ); // Sample Drawing SelectObject( hdc, old ); }
See Also
Create and use an external area.
Error Handling
Use PA_GetLastError to see if an error occurred (eER_BadEventCall)