MFC CDC 类 公共方法:CDC::PlgBlt
在 MFC(Microsoft Foundation Classes)中,CDC::PlgBlt 是一个用于执行透视块传输(Perspective Block Transfer)操作的方法。透视块传输是一种特殊的块传输,它允许在设备上下文中以透视的方式传输源矩形到目标矩形。以下是 CDC::PlgBlt 方法的简要说明:BOOL CDC::PlgBlt( POINT* lpPoint, CDC* pSrcDC, int xSrc, int ySrc, int nWidth, int nHeight, CBrush* pBrush); 参数: - lpPoint:指向 POINT 数组的指针,定义了目标矩形的四个顶点。 - pSrcDC:指向源设备上下文(源位图)的指针。 - xSrc 和 ySrc:源矩形的左上角坐标。 - nWidth 和 nHeight:源矩形的宽度和高度。 - pBrush:指向用于填充目标矩形的画刷的指针。 返回值:如果函数成功,则返回非零值;如果函数失败,则返回零。使用示例:CDC* pDC = GetDC(); // ...
MFC CDC 类 公共方法:CDC::PlayMetaFile
在 MFC(Microsoft Foundation Classes)中,CDC::PlayMetaFile 是一个用于播放 Windows 图形元文件(Windows Metafile)的方法。Windows 图形元文件是一种矢量图形格式,可以包含绘图命令和图形对象的描述,允许图形的高质量缩放和打印。以下是 CDC::PlayMetaFile 方法的简要说明:BOOL CDC::PlayMetaFile( HMETAFILE hMF, const CRect& rect); 参数: - hMF:一个句柄,表示要播放的 Windows 图形元文件。 - rect:一个 CRect 对象,表示播放区域的矩形。 返回值:如果函数成功,则返回非零值;如果函数失败,则返回零。使用示例:CDC* pDC = GetDC(); // 获取设备上下文// 假设 hMetafile 是一个 Windows 图形元文件的句柄HMETAFILE hMetafile = GetMyMetafileHandle();CRect rect(10, 10, 200, 200); // 指定...
MFC CDC 类 公共方法:CDC::Pie
在 MFC(Microsoft Foundation Classes)中,CDC::Pie 是一个用于在设备上下文中绘制一个扇形的方法。扇形是由椭圆的一部分和两条辐射线组成的。以下是 CDC::Pie 方法的简要说明:BOOL CDC::Pie( int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4); 参数: - x1, y1:矩形区域的左上角坐标。 - x2, y2:矩形区域的右下角坐标。 - x3, y3:扇形的起始点坐标。 - x4, y4:扇形的终止点坐标。 返回值:如果函数成功,则返回非零值;如果函数失败,则返回零。使用示例:CDC* pDC = GetDC(); // 获取设备上下文int x1 = 10;int y1 = 10;int x2 = 200;int y2 = 200;int x3 = 50;int y3 = 50;int x4 = 150;int y4 = 150;// 绘制一个扇形pDC->Pie(x1, y1, x2, y2, x3, ...
MFC CDC 类 公共方法:CDC::PatBlt
在 MFC(Microsoft Foundation Classes)中,CDC::PatBlt 是一个用于执行模式块传输(Pattern Block Transfer)操作的方法。这个方法允许在设备上下文中使用指定的图案(Pattern)来填充一个矩形区域。以下是 CDC::PatBlt 方法的简要说明:BOOL CDC::PatBlt( int x, int y, int nWidth, int nHeight, DWORD dwRop); 参数: - x 和 y 是矩形区域的左上角的坐标。 - nWidth 和 nHeight 是矩形的宽度和高度。 - dwRop 定义了如何合并源和目标图像的操作代码。 返回值:如果函数成功,则返回非零值;如果函数失败,则返回零。使用示例:CDC* pDC = GetDC(); // 获取设备上下文int x = 10;int y = 10;int width = 100;int height = 100;// 使用一个特定的模式(图案)填充矩形区域pDC->PatBlt(x, y, width, height,...
MFC CDC 类 公共方法:CDC::PaintRgn
在 MFC(Microsoft Foundation Classes)中,CDC::PaintRgn 是一个公共方法,用于在设备上下文中绘制一个区域(CRgn 对象)。以下是 CDC::PaintRgn 方法的简要说明:BOOL CDC::PaintRgn( CRgn* pRgn); 参数:pRgn 是指向 CRgn 对象的指针,表示要绘制的区域。 返回值:如果函数成功,则返回非零值;如果函数失败,则返回零。使用示例:CDC* pDC = GetDC(); // 获取设备上下文CRgn rgn;rgn.CreateEllipticRgn(10, 10, 100, 100); // 创建一个椭圆形的区域pDC->PaintRgn(&rgn);ReleaseDC(pDC); // 释放设备上下文在这个例子中,首先使用 CreateEllipticRgn 创建一个椭圆形的区域 rgn,然后使用 PaintRgn 方法在设备上下文中绘制该区域。这个方法通常用于填充指定区域的内部,使其显示在设备上。
MFC CDC 类 公共方法:CDC::OffsetWindowOrg
在 MFC(Microsoft Foundation Classes)中,CDC::OffsetWindowOrg 是一个公共方法,用于在设备上下文中平移(偏移)窗口原点。窗口原点是用于定位图形对象的坐标原点,而 OffsetWindowOrg 允许你在 X 和 Y 方向上平移窗口原点。以下是 CDC::OffsetWindowOrg 方法的简要说明:virtual CPoint OffsetWindowOrg( int nWidth, int nHeight); 参数:nWidth 和 nHeight 是平移的水平和垂直距离。 返回值:返回一个 CPoint 对象,表示之前的窗口原点的坐标。使用示例:CDC* pDC = GetDC(); // 获取设备上下文// 获取之前的窗口原点CPoint oldWindowOrg = pDC->GetWindowOrg();// 平移窗口原点pDC->OffsetWindowOrg(10, 20);// 现在,窗口原点在水平方向上平移了10个单位,在垂直方向上平移了20个单位ReleaseDC(pDC); // 释放设...
MFC CDC 类 公共方法:CDC::OffsetViewportOrg
在 MFC(Microsoft Foundation Classes)中,CDC::OffsetViewportOrg 是一个公共方法,用于在设备上下文中平移(偏移)视口原点。视口原点是用于定位图形对象的坐标原点,而 OffsetViewportOrg 允许你在 X 和 Y 方向上平移视口原点。以下是 CDC::OffsetViewportOrg 方法的简要说明:virtual CPoint OffsetViewportOrg( int nWidth, int nHeight); 参数:nWidth 和 nHeight 是平移的水平和垂直距离。 返回值:返回一个 CPoint 对象,表示之前的视口原点的坐标。使用示例:CDC* pDC = GetDC(); // 获取设备上下文// 获取之前的视口原点CPoint oldViewportOrg = pDC->GetViewportOrg();// 平移视口原点pDC->OffsetViewportOrg(10, 20);// 现在,视口原点在水平方向上平移了10个单位,在垂直方向上平移了20个单位ReleaseDC...
MFC CDC 类 公共方法:CDC::OffsetClipRgn
在 MFC(Microsoft Foundation Classes)中,CDC::OffsetClipRgn 是一个公共方法,用于在设备上下文中平移(偏移)当前的剪裁区域。剪裁区域用于限制绘图操作的区域,而 OffsetClipRgn 允许你在 X 和 Y 方向上平移剪裁区域。以下是 CDC::OffsetClipRgn 方法的简要说明:int CDC::OffsetClipRgn( int x, int y); 参数:x 和 y 是平移的水平和垂直距离。 返回值:返回一个非零值,表示剪裁区域的复杂性。如果函数失败,则返回零。使用示例:CDC* pDC = GetDC(); // 获取设备上下文// 获取当前的剪裁区域CRgn clipRgn;pDC->GetClipRgn(&clipRgn);// 平移剪裁区域pDC->OffsetClipRgn(10, 20);// 现在,剪裁区域在水平方向上平移了10个单位,在垂直方向上平移了20个单位ReleaseDC(pDC); // 释放设备上下文在这个例子中,首先使用 GetClipRgn 方法获取当前的...
MFC CDC 类 公共方法:CDC::MoveTo
在 MFC(Microsoft Foundation Classes)中,CDC::MoveTo 是一个用于设置当前设备上下文中的当前位置的方法。这个方法设置图形操作的起始点,这是绘图操作的开始位置。以下是 CDC::MoveTo 方法的简要说明:BOOL CDC::MoveTo( int x, int y, POINT* lpPoint = NULL); 参数: - x 和 y 是新的当前位置的 x 和 y 坐标。 - lpPoint 是一个可选的指向 POINT 结构的指针,它接收之前的当前位置的坐标。 返回值:如果函数成功,则返回非零值;如果函数失败,则返回零。使用示例:CDC* pDC = GetDC(); // 获取设备上下文int startX = 10;int startY = 20;pDC->MoveTo(startX, startY);// 在这之后的绘图操作将以 (startX, startY) 为起始点ReleaseDC(pDC); // 释放设备上下文在这个例子中,MoveTo 方法用于设置当前设备上下文的当前位置,即图形操作的起始点。...
MFC CDC 类 公共方法:CDC::ModifyWorldTransform
在 MFC(Microsoft Foundation Classes)中,CDC::ModifyWorldTransform 是一个用于修改世界变换(world transformation)的方法。世界变换是一个坐标变换,用于将对象从用户空间坐标系(逻辑坐标)映射到设备空间坐标系(设备坐标)。以下是 CDC::ModifyWorldTransform 方法的简要说明:BOOL CDC::ModifyWorldTransform( const XFORM* pXform, DWORD dwMode); 参数: - pXform:指向 XFORM 结构的指针,定义了要应用的变换。 - dwMode:定义了如何使用 pXform 的标志。 返回值:如果函数成功,则返回非零值;如果函数失败,则返回零。XFORM 结构定义如下:typedef struct tagXFORM { float eM11; float eM12; float eM21; float eM22; float eDx; float eDy;} XFORM, *PXFORM, *LPX...
MFC CDC 类 公共方法:CDC::MaskBlt
在 MFC(Microsoft Foundation Classes)中,CDC::MaskBlt 是一个用于执行位块传输(BitBlt)操作的方法之一。这个方法允许你在设备上下文中使用掩码来合并源和目标位图。以下是 CDC::MaskBlt 方法的简要说明:BOOL CDC::MaskBlt( int xDest, int yDest, int width, int height, CDC* pSrcDC, int xSrc, int ySrc, CDC* pMaskDC, int xMask, int yMask, DWORD dwRop); 参数: - xDest, yDest:目标矩形左上角的 x 和 y 坐标。 - width, height:矩形的宽度和高度。 - pSrcDC:指向源设备上下文(源位图)的指针。 - xSrc, ySrc:源矩形左上角的 x 和 y 坐标。 - pMaskDC:指向掩码设备上下文(掩码位图)的指针。 - xMask, yMask:掩码矩形左上角的 x 和 y 坐标。 - dwRop:...
MFC CDC 类 公共方法:CDC::LPtoHIMETRIC
在 MFC(Microsoft Foundation Classes)中,CDC::LPtoHIMETRIC 并不是 CDC 类的直接成员方法。然而,你可以使用 CPoint 结构体的 LPtoDP 方法来实现逻辑坐标到 HIMETRIC(0.01 毫米为单位的逻辑单位)的转换,而后者可以用于打印和其他需要精确尺寸的场景。以下是一个使用 CPoint::LPtoDP 进行逻辑坐标到 HIMETRIC 的转换的示例:CPoint pointLogical(100, 100); // 定义一个逻辑坐标点CDC* pDC = GetDC(); // 获取设备上下文// 使用 LPtoDP 将逻辑坐标转换为设备坐标(设备相关单位)pDC->DPtoHIMETRIC(&pointLogical);ReleaseDC(pDC); // 释放设备上下文// pointLogical 现在包含了相应的 HIMETRIC 单位坐标在这个例子中,DPtoHIMETRIC 将逻辑坐标点转换为 HIMETRIC 单位坐标。这在需要精确尺寸的打印场景中非常有用。请注意,CPoint::LPt...
MFC CDC 类 公共方法:CDC::LPtoDP
在 MFC(Microsoft Foundation Classes)中,CDC::LPtoDP 是一个公共方法,用于将逻辑坐标(logical coordinates)转换为设备坐标(device coordinates)。逻辑坐标通常是以设备无关单位(device-independent units)表示的坐标,而设备坐标是以设备相关单位(device-dependent units)表示的坐标。以下是 CDC::LPtoDP 方法的简要说明:void CDC::LPtoDP( LPPOINT lpPoints, int nCount = 1) const; 参数:lpPoints 是指向 POINT 结构数组的指针,它包含要转换的点的坐标。nCount 是要转换的点的数量,默认为 1。使用示例:CPoint point(10, 10); // 定义一个逻辑坐标点pDC->LPtoDP(&point); // 将逻辑坐标点转换为设备坐标点// point 现在包含了相应的设备坐标在这个例子中,LPtoDP 方法将逻辑坐标点转换为设备坐标点。这对于在不同分...
MFC CDC 类 公共方法:CDC::LineTo
在 MFC(Microsoft Foundation Classes)中,CDC::LineTo 是一个公共方法,用于在设备上下文(Device Context)中绘制一条直线,从当前位置连接到指定的点。以下是 CDC::LineTo 方法的简要说明:BOOL CDC::LineTo(int x, int y); 参数:x 和 y 分别是直线终点的 x 和 y 坐标。 返回值:如果函数成功,则返回非零值;如果函数失败,则返回零。使用示例:CDC* pDC = GetDC(); // 获取设备上下文pDC->MoveTo(10, 10); // 移动到起始点pDC->LineTo(100, 100); // 从起始点绘制一条直线到终点ReleaseDC(pDC); // 释放设备上下文在这个例子中,首先使用 MoveTo 方法设置起始点,然后使用 LineTo 方法从起始点绘制一条直线到指定的终点。这样,你可以在设备上下文中绘制直线。
MFC CDC 类 公共方法:CDC::IsPrinting
在 MFC(Microsoft Foundation Classes)中,CDC::IsPrinting 是一个公共方法,用于检查设备上下文(Device Context)是否与打印操作相关联。该方法返回一个布尔值,指示设备上下文是否用于打印。以下是 CDC::IsPrinting 方法的简要说明:BOOL CDC::IsPrinting() const; 返回值:如果设备上下文用于打印操作,则返回 TRUE;否则返回 FALSE。使用示例:CDC* pDC = GetDC(); // 获取设备上下文if (pDC->IsPrinting()){ // 执行与打印相关的操作 // 例如,设置打印字体、坐标变换等}ReleaseDC(pDC); // 释放设备上下文在这个例子中,通过调用 IsPrinting 方法,可以检查设备上下文是否与打印操作相关联。如果是,你可以在打印时执行一些特定的绘图操作,例如设置打印字体、坐标变换等。
MFC CDC 类 公共方法:CDC::InvertRgn
在 MFC(Microsoft Foundation Classes)中,CDC::InvertRgn 是一个公共方法,用于在设备上下文(Device Context)中反转(反色)指定的区域(CRgn 对象)。这种反转效果通常用于创建反显效果,使区域内的颜色变为其反色。以下是 CDC::InvertRgn 方法的简要说明:BOOL CDC::InvertRgn(CRgn* pRgn); 参数:pRgn 是一个指向 CRgn 对象的指针,指定了要反转的区域。 返回值:如果函数成功,则返回非零值;如果函数失败,则返回零。使用示例:CRect rectInvert(10, 10, 100, 100); // 定义一个矩形CRgn rgnInvert;rgnInvert.CreateRectRgnIndirect(&rectInvert);pDC->InvertRgn(&rgnInvert);// 现在rgnInvert指定的区域的颜色被反转在这个例子中,首先创建了一个矩形区域 rgnInvert,然后使用 InvertRgn 方法对该区域进行反转。这种操作通常用于在...
MFC CDC 类 公共方法:CDC::InvertRect
CDC::InvertRect 是 MFC(Microsoft Foundation Classes)中的一个公共方法,用于在设备上下文(Device Context)中反转(反色)指定矩形区域的颜色。这种反转效果通常用于创建反显效果,使矩形区域内的颜色变为其反色。以下是 CDC::InvertRect 方法的简要说明:BOOL CDC::InvertRect(const RECT* lpRect); 参数:lpRect 是一个指向 RECT 结构的指针,指定了要反转的矩形区域。 返回值:如果函数成功,则返回非零值;如果函数失败,则返回零。使用示例:CRect rectInvert(10, 10, 100, 100); // 定义一个矩形pDC->InvertRect(rectInvert);// 现在rectInvert指定的矩形区域的颜色被反转在这个例子中,InvertRect 方法将指定矩形 rectInvert 区域内的颜色进行反转。这种操作通常用于在图形用户界面中创建反显效果或者其他视觉效果。
MFC CDC 类 公共方法:CDC::IntersectClipRect
CDC::IntersectClipRect 是 MFC(Microsoft Foundation Classes)中的一个公共方法,用于在设备上下文(Device Context)中设置剪裁矩形,该矩形是当前剪裁矩形和指定矩形的交集。该方法的目的是限制绘图操作只能在指定矩形内进行。以下是 CDC::IntersectClipRect 方法的简要说明:int CDC::IntersectClipRect( int x1, int y1, int x2, int y2 ); 参数:x1, y1, x2, y2 分别是指定矩形的左上角和右下角的坐标。 返回值:返回值是一个整数,表示当前剪裁矩形的复杂性。如果没有错误,则返回值是复杂性的负值。使用示例:CRect rectClip(10, 10, 100, 100); // 定义一个矩形pDC->IntersectClipRect(rectClip.left, rectClip.top, rectClip.right, rectClip.bottom);// 剪裁区域现在被限制在rectClip指定的矩形内在这个例子中...
MFC CDC 类 公共方法:CDC::HIMETRICtoDP
CDC::HIMETRICtoDP 是 MFC(Microsoft Foundation Classes)中的一个公共方法,用于将物理大小(以 0.01 毫米为单位)转换为逻辑大小(以像素为单位)。这个方法的目的是帮助在不同设备上进行大小单位的转换。以下是该方法的简要说明:void CDC::HIMETRICtoDP(SIZE *lpSize) const; 参数:lpSize 是一个指向 SIZE 结构的指针,该结构包含要转换的物理大小。使用示例:CSize szHimetric(2540, 2540); // 1 inch in HIMETRIC units (0.01 mm)pDC->HIMETRICtoDP(&szHimetric);// szHimetric now contains the size in logical units (pixels)在这个例子中,szHimetric 最初表示 1 英寸的物理大小,HIMETRICtoDP 方法将其转换为逻辑大小,使其适应当前设备的像素单位。
MFC CDC 类 公共方法:CDC::GrayString
CDC::GrayString 是 MFC(Microsoft Foundation Classes)中的一个公共方法,用于在设备上绘制一个灰度字符串。该方法的声明如下:int CDC::GrayString( CBrush* pBrush, BOOL (CALLBACK* pfnOutput)(HDC, LPARAM, int), LPARAM lpData, int nCount, int x, int y, int nWidth, int nHeight);这个方法的参数包括: pBrush:指定用于绘制背景的画刷。 pfnOutput:指向一个回调函数的指针,该函数用于输出字符。 lpData:传递给回调函数的应用程序特定的参数。 nCount:指定要绘制的字符数。 x、y:指定字符串的起始坐标。 nWidth、nHeight:指定每个字符的宽度和高度。CDC::GrayString 的工作方式是根据设备的特定要求,使用指定的画刷将字符串的背景绘制为灰度。然后,通过调用回调函数 pfnOutput 来输出字符。需要注意的是,CDC::GraySt...