接做网站需要问什么软件,立方集团 网站,网站网页制作模板,做侵权网站用哪里的服务器稳CDC
定义 设备上下文对象类#xff1b; 使用成员函数可以进行所有的绘图操作#xff1b; 作用 获取和设置绘图属性、映射#xff0c;处理视点、窗口扩展、转换坐标#xff0c;处理区域、剪贴、绘制直线及绘制简单椭圆和多边形等形状#xff1b; 安全型图形设备接口 使用成员函数可以进行所有的绘图操作 作用 获取和设置绘图属性、映射处理视点、窗口扩展、转换坐标处理区域、剪贴、绘制直线及绘制简单椭圆和多边形等形状 安全型图形设备接口GDI对象收集以及处理颜色和调色板 绘制文本、处理字体使用打印机跳转滚动和播放元文件 成员 处理显示器或打印机等设备上下文的成员函数 处理与窗口客户区关联的显示上下文的成员函数 两个设备上下文m_hDC、m_hAttribDC它们在 CDC 对象创建时参考同一设备 m_hDCCDC 对象使用的输出设备上下文 m_hAttribDCCDC 对象使用的输出属性上下文 CPaintDC CPaintDC 类 | Microsoft Learn 仅为响应 Windows 消息 WM_PAINT 的成员函数提供设备环境完成客户区绘图操作 在构造时执行 CWnd::BeginPaint在销毁时执行 CWnd::EndPaint
/// 在需要绘图的地方添加消息响应函数。
/// 声明CPaintDC对象。
/// 调用BeginPaint函数获取设备上下文。
/// 进行绘图操作。
/// 调用EndPaint函数释放设备上下文。
void CMFCDrawingView::OnPaint()
{CPaintDC dc(this); // 绘制椭圆dc.Ellipse(100, 100, 200, 200);// 释放设备上下文dc.EndPaint();
} PAINTSTRUCT 用于绘制应用程序拥有的窗口的工作区 typedef struct tagPAINTSTRUCT {HDC hdc; // 于绘制的显示 DC 的句柄BOOL fErase; // 是否必须擦除背景RECT rcPaint; // 指定请求绘制的矩形的左上角和右下角BOOL fRestore;BOOL fIncUpdate;BYTE rgbReserved[32];
} PAINTSTRUCT, *PPAINTSTRUCT, *NPPAINTSTRUCT, *LPPAINTSTRUCT; CClientDC CClientDC 类 | Microsoft Learn 为非响应 Windows 消息 WM_PAINT 的成员函数提供设备环境完成客户区临时绘图 管理窗口用户区对应的显示上下文 处理 Windows 函数 GetDC在构造时和 ReleaseDC在析构时的调用
void CMFC绘图View::OnHuahua() // 在客户区的100100位置输出字符串
{// 创建对象在视图对象里画CClientDC dc(this);dc.TextOutA(100,100, aiyou);//::TextOut(dc.m_hDC, 100, 100, hello client, strlen( aiyou));
} CWindowDC 管理与整个窗口包括客户区和非客户区对应的上下文包括它的结构和控件 不同于前文的两个类它可用于绘制窗口的非客户区如标题栏、边框等
void CMFCDrawingView::OnNcPaint() // 响应WM_NCPAINT消息
{CWindowDC dc(this);// 在非客户区绘制一段文本dc.DrawText(Non-Client Area, dc, CPoint(10, 10));// 释放设备上下文dc.ReleaseDC();
} CMetaFileDC 与带元文件的设备上下文对应 初始化
函数名描述CreateDC为指定设备创建设备上下文CreateIC信息上下文一种不创建设备上下文即获取有关设备信息的快速方式CreateCompatibleDC创建内存设备上下文与另一个设备上下文匹配。可以用它在内存中准备图像DeleteDC删除CDC对象对应的Windows设备上下文FromHandle给定设备上下文句柄时返回指向CDC对象的指针。如果CDC对象未附加到句柄则创建并附加一个临时CDC对象DeleteTempMap由CWinApp空闲时间句柄调用删除FromHandle创建的临时CDC对象。同时分离设备上下文Attach把 Windows 设备上下文附加到 CDC 对象Detach对象分离SetAttribDC设置属性设备上下文 m_hAttribDCSetOutputDC输出设备上下文 m_hDCReleaseAttribDC释放ReleaseOutputDC释放GetCurrentBitmap返回指向当前选择的 CBitmap 对象的指针GetCurrentBrushCBrushGetCurrentFontCFontGetCurrentPaletteCPaletteGetCurrentPenCPenGetWindow返回显示设备上下文对应的窗口 设备上下文
函数名描述GetSafeHdc返回输出设备上下文 m_hDCSaveDC保存设备上下文当前状态RestoreDC恢复SaveDC保存的ResetDC更新 m_hAttribDC 设备上下文GetDeviceCaps获取有关给定显示设备功能的指定类型指定设备信息IsPrinting确定正在使用的设备上下文是否用于打印 颜色和调色板
函数名描述SelectObject选择笔等GDI绘图对象SelectStockObject选择Windows提供的预定义的一个笔、画刷或字体
绘图
绘图工具
函数名描述GetNearestColor获取与给定设备能显示的指定逻辑颜色最接近的逻辑色SelectPalette选择逻辑调色板RealizePalette把当前逻辑调色板中的调色板入口映射到系统调色板UpdateColors通过客户区当前颜色在像素基础上与系统调色板的匹配更新设备上下文的客户区GetHalftoneBrush取半色调画刷 绘图属性
GetBkColor获取当前背景色SetBkColorGetBkMode背景模式SetBkModeGetPolyFillMode当前多边形填充模式SetPolyFillModeGetROP2当前绘图模式SetROP2GetStretchBltMode当前位图拉伸模式SetStretchBltModeGetTextColor当前文本颜色SetTextColorGetColorAdjustment用于设备上下文的颜色调整值SetColorAdjustment 绘制
FillRect用指定画刷填充给定矩形FrameRect矩形周围绘制边界InvertRect反转矩形内容DrawIcon图标DrawDragRect拖拽矩形时擦除并重绘FillSolidRect用实颜色填充矩形Draw3Drect三维矩形DrawEdge矩形边DrawFrameControl帧控件DrawState显示图像并应用可视化效果来表示一个状态 坐标
映射
GetMapMode当前映射模式SetMapModeGetViewportOrg获取视区起点的 X 和 Y 坐标SetViewportOrgOffsetViewportOrg相对于当前视区起点坐标修改视区起点GetViewportExt视区 X 和 Y 范围SetViewportExtScaleViewportExt相对于当前值修改视区范围GetWindowOrg窗口起点的X和Y坐标SetWindowOrgOffsetWindowOrg相对于当前窗口起点的坐标修改窗口起点GetWindowExt对应窗口的X和Y坐标SetWindowExtScaleWindowExt相对于当前值修改窗口范围 单位转换
DPtoHIMETRIC设备单位转换为 HIMETRIC 单位LPtoHIMETRIC逻辑单位转换DPtoLPLPtoDPHIMETRICtoDPHIMETRIC单位转换为设备单位HIMETRICtoLPHIMETRIC转换为逻辑单位 区域
区域属性
FillRgn用指定画刷填充指定区域FrameRgn用画刷在指定区域周围绘制边线InvertRgn反转区域中的颜色PaintRgn用选取的画刷填充区域 剪切
SetBoundsRect控制指定设备上下文绑定的矩形信息的累计GetBoundsRectGetClipBox获取当前剪切边界周围最紧绑定矩形的维数SelectClipRgn使用指定模式合并给定区域和当前剪切区域ExcludeClipRect创建包含现有剪切区域减掉指定矩形的一个新剪切区域ExcludeUpdateRgn通过从剪切区域排除窗口中的更新区域防止在窗口的无效区域中绘图IntersectClipRect通过构成当前区域和矩形的交集创建一个新的剪切区域OffsetClipRgn移动给定设备的剪切区域PtVisible确定给定点是否在剪切区域内RectVisible确定给定矩形的任何部分是否在剪切区域内 线
GetCurrentPosition获取笔的当前位置以逻辑坐标表示MoveTo移动当前位置LineTo从当前位置到一点画直线但不包括那个点Arc画一段椭圆弧ArcTo除了更新当前位置以外AngleArc画一条线段和圆弧把当前位置移到圆弧终点GetArcDirection返回当前圆弧方向SetArcDirection设备圆弧和矩形函数要用到的绘图方向PolyDraw画一组线段和Bezier样条。这个函数更新当前位置Polyline画一组与指定点连接的线段PolyPolyline画多组相连线段。这个函数不使用也不更新当前位置PolylineTo画一条或多条直线并把当前位置移到最后一条直线的终点PolyBezier画一条或多条Bezier样条。不使用也不更新当前位置PolyBezierTo并把当前位置移到最后一条Bezier样条的终点 文本
TextOut用当前选取字体在指定位置写字符串ExtTextOut矩形区域写字符串TabbedTextOut指定位置写字符串制表符扩展为制表符停止位置数组中指定值DrawText定矩形内绘制格式化文本GetTextExtent使用当前字体在属性设备上下文上计算文本行的宽度和高度确定维数GetOutputTextExtent在输出设备上下文上计算GetTabbedTextExtent在属性设备上下文上计算字符串的宽度和高度GetOutputTabbedTextExtent在输出设备上下文上计算字符串的宽度和高度GrayString给定位置绘制暗灰色文本GetTextAlign文本对齐标记SetTextAlignGetTextFace以空终止字符串形式把当前字体字样名拷贝到缓冲区GetTextMetrics从属性设备上下文为当前字体获取度量GetOutputTextMetrics输出设备上下文SetTextJustification把空格添加到字符串的中断字符GetTextCharacterExtra获取当前字符的额外间距空格以像素为单位SetTextCharacterExtra