本节包含一个演示图片创建的示例以及将相应记录存储在图元文件中的过程。该示例将图片绘制到显示屏上,或将其存储在图元文件中。如果给出了一个显示器直流手柄,它将使用各种GDI功能将画面绘制到屏幕上。如果提供了增强的图元文件DC,它将相同的图片存储在增强的图元文件中。
void DrawOrStore(HWND hwnd,HDC hdcMeta,HDC hdcDisplay)
{
RECT rect;
HDC hDC;
int fnMapModeOld;
HBRUSH hbrOld;
/ *将其绘制到显示器DC,或将其存储在图元文件DC中。*/
if(hdcMeta)
hDC = hdcMeta;
其他
hDC = hdcDisplay;
/ *设置DC中的映射模式。*/
fnMapModeOld = SetMapMode(hDC, MM_LOENGLISH);
/ *查找客户区域的中点。*/
GetClientRect(hwnd, (LPRECT)&rect);
DPtoLP(hDC, (LPPOINT)&rect, 2);
/ *选择一个灰色的画笔。*/
hbrOld = SelectObject(hDC, GetStockObject(GRAY_BRUSH));
/ *用一英寸raduis画一个圆。*/
椭圆(hDC,(rect.right / 2 - 100),(rect.bottom / 2 + 100),
(rect.right/2 + 100), (rect.bottom/2 - 100));
/ *在此处执行附加绘图。*/
/ *将设备上下文设置为原始状态。*/
SetMapMode(hDC, fnMapModeOld);
SelectObject(hDC, hbrOld);
}