MFC CDC 类 公共方法:CDC::PatBlt
在 MFC(Microsoft Foundation Classes)中,CDC::PatBlt 是 CDC 类的一个公共方法,用于在设备上下文中进行模式位块传输(Pattern BitBlt)操作。这个方法可以用于使用指定的图案填充矩形区域。方法的声明如下:BOOL CDC::PatBlt( int x, int y, int nWidth, int nHeight, DWORD dwRop );参数说明: x、y:矩形区域的左上角坐标。 nWidth、nHeight:矩形区域的宽度和高度。 dwRop:指定位块传输操作的光栅操作码(Raster Operation Code)。该方法返回一个布尔值,表示操作是否成功。如果成功,返回值为非零;如果失败,返回值为零。dwRop 参数是一个光栅操作码,用于指定位块传输的方式,包括源和目标的组合方式、是否取反等。在使用 PatBlt 方法时,dwRop 参数通常包含 PATCOPY 或其他光栅操作码。使用示例:CDC dc; // 假设已经创建了 CDC 对象int x = 100;int y = 100;int wid...
MFC CDC 类 公共方法:CDC::PaintRgn
在 MFC(Microsoft Foundation Classes)中,CDC::PaintRgn 是 CDC 类的一个公共方法,用于在设备上下文中绘制一个区域(CRgn 对象表示的区域)。这个方法可以用于填充指定区域的内部,实现区域的绘制效果。方法的声明如下:BOOL CDC::PaintRgn( CRgn* pRgn );参数说明: pRgn:指向 CRgn 对象的指针,表示要绘制的区域。该方法返回一个布尔值,表示操作是否成功。如果成功,返回值为非零;如果失败,返回值为零。使用示例:CDC dc; // 假设已经创建了 CDC 对象CRgn region;region.CreateEllipticRgn(10, 10, 100, 100); // 创建一个椭圆形区域BOOL bResult = dc.PaintRgn(&region);if (bResult) { // 在区域内进行绘图操作,实现填充区域的效果}在这个示例中,PaintRgn 方法用于在设备上下文中绘制指定区域的内部。如果操作成功,可以在区域内使用其他绘图操作实现填充区域的效果。
MFC CDC 类 公共方法:CDC::OffsetWindowOrg
在 MFC(Microsoft Foundation Classes)中,CDC::OffsetWindowOrg 是 CDC 类的一个公共方法,用于在设备上下文中偏移窗口的原点。这个方法通常用于改变窗口坐标系的起始点,以便在绘图时调整坐标系的原点。方法的声明如下:CPoint CDC::OffsetWindowOrg( int nWidth, int nHeight );参数说明: nWidth:水平方向上的偏移量。 nHeight:垂直方向上的偏移量。该方法返回一个 CPoint 对象,表示之前的窗口原点的坐标。使用示例:CDC dc; // 假设已经创建了 CDC 对象int offsetX = 20;int offsetY = 30;CPoint oldOrigin = dc.OffsetWindowOrg(offsetX, offsetY);// 在偏移后的窗口原点进行绘制操作// 恢复到之前的窗口原点dc.SetWindowOrg(oldOrigin);在这个示例中,OffsetWindowOrg 方法用于在设备上下文中偏移窗口的原点,并返回之前的窗口原点的坐标。这...
MFC CDC 类 公共方法:CDC::OffsetViewportOrg
在 MFC(Microsoft Foundation Classes)中,CDC::OffsetViewportOrg 是 CDC 类的一个公共方法,用于在设备上下文中偏移视口的原点。这个方法通常用于改变视口的起始点,以便在绘图时调整坐标系的原点。方法的声明如下:CPoint CDC::OffsetViewportOrg( int nWidth, int nHeight );参数说明: nWidth:水平方向上的偏移量。 nHeight:垂直方向上的偏移量。该方法返回一个 CPoint 对象,表示之前的视口原点的坐标。使用示例:CDC dc; // 假设已经创建了 CDC 对象int offsetX = 20;int offsetY = 30;CPoint oldOrigin = dc.OffsetViewportOrg(offsetX, offsetY);// 在偏移后的视口原点进行绘制操作// 恢复到之前的视口原点dc.SetViewportOrg(oldOrigin);在这个示例中,OffsetViewportOrg 方法用于在设备上下文中偏移视口的原点,并返回之前的视口...
MFC CDC 类 公共方法:CDC::OffsetClipRgn
在 MFC(Microsoft Foundation Classes)中,CDC::OffsetClipRgn 是 CDC 类的一个公共方法,用于在设备上下文中偏移当前裁剪区域的位置。这个方法通常用于在绘图过程中对裁剪区域进行调整。方法的声明如下:int CDC::OffsetClipRgn( int x, int y );参数说明: x、y:裁剪区域的偏移量,指定在 x 和 y 方向上的偏移量。该方法返回值表示新的裁剪区域的复杂性。如果返回值为 NULLREGION,则新的裁剪区域为空。如果返回值为 SIMPLEREGION,则新的裁剪区域是一个简单的矩形。如果返回值为 COMPLEXREGION,则新的裁剪区域是由多个矩形组成的复杂区域。使用示例:CDC dc; // 假设已经创建了 CDC 对象CRgn clipRegion;clipRegion.CreateRectRgn(10, 10, 100, 100); // 创建一个矩形裁剪区域dc.SelectClipRgn(&clipRegion); // 选择裁剪区域int offsetX = 20;int off...
MFC CDC 类 公共方法:CDC::MoveTo
在 MFC(Microsoft Foundation Classes)中,CDC::MoveTo 是 CDC 类的一个公共方法,用于设置当前绘图位置到指定的坐标。这个方法通常与绘制直线、曲线等图形一起使用,用于指定图形的起始点。方法的声明如下:CPoint CDC::MoveTo( int x, int y );参数说明: x、y:新的当前绘图位置的坐标。该方法返回一个 CPoint 对象,表示之前的当前绘图位置的坐标。使用示例:CDC dc; // 假设已经创建了 CDC 对象int x = 100;int y = 100;CPoint oldPoint = dc.MoveTo(x, y);// 在新的绘图位置进行绘制操作// 恢复到之前的绘图位置dc.MoveTo(oldPoint);在这个示例中,MoveTo 方法用于设置当前绘图位置到新的坐标 (x, y),并返回之前的当前绘图位置的坐标。这样,在进行绘制操作后,可以通过 MoveTo 方法恢复到之前的绘图位置,以便绘制下一个图形。
MFC CDC 类 公共方法:CDC::ModifyWorldTransform
在 MFC(Microsoft Foundation Classes)中,CDC::ModifyWorldTransform 是 CDC 类的一个公共方法,用于修改设备上下文的世界变换矩阵。这个方法可以用于实现坐标变换,例如平移、旋转、缩放等。方法的声明如下:BOOL CDC::ModifyWorldTransform( const XFORM* pXform, DWORD iMode );参数说明: pXform:指向 XFORM 结构的指针,表示要应用的变换矩阵。 iMode:指定如何应用变换矩阵,可以是 MWT_IDENTITY、MWT_LEFTMULTIPLY 或 MWT_RIGHTMULTIPLY。XFORM 结构定义如下:typedef struct tagXFORM { FLOAT eM11; FLOAT eM12; FLOAT eM21; FLOAT eM22; FLOAT eDx; FLOAT eDy;} XFORM, *PXFORM, *LPXFORM;MWT_IDENTITY 表示使用指定的变换矩阵替换当前的矩阵。MWT_LEFTMULTIPL...
MFC CDC 类 公共方法:CDC::MaskBlt
在 MFC(Microsoft Foundation Classes)中,CDC::MaskBlt 是 CDC 类的一个公共方法,用于在设备上下文中进行位块传输(BitBlt)操作,并应用掩码(mask)以实现透明效果。这个方法通常用于将一个图像从一个设备上下文复制到另一个设备上下文,并通过掩码来指定哪些像素应该是透明的。方法的声明如下:BOOL CDC::MaskBlt( int xDest, int yDest, int width, int height, CDC* pSrcDC, int xSrc, int ySrc, HBITMAP hMaskBitmap, int xMask, int yMask );参数说明: xDest、yDest:目标矩形区域的左上角坐标。 width、height:目标矩形区域的宽度和高度。 pSrcDC:指向源设备上下文的指针,表示源图像的来源。 xSrc、ySrc:源图像的左上角坐标。 hMaskBitmap:用于指定透明掩码的位图句柄。 xMask、yMask:掩码位图的左上角坐标。该方法返回一个布尔值...
MFC CDC 类 公共方法:CDC::LPtoHIMETRIC
在 MFC(Microsoft Foundation Classes)中,CDC::LPtoHIMETRIC 是 CDC 类的一个公共方法,用于将逻辑坐标转换为 HIMETRIC 单位。HIMETRIC 是一种高分辨率的度量单位,通常用于打印和图形相关的操作。方法的声明如下:void CDC::LPtoHIMETRIC( LPSIZE lpSize ) const;参数说明: lpSize:指向 SIZE 结构的指针,表示要转换的逻辑坐标的大小。使用示例:CDC dc; // 假设已经创建了 CDC 对象SIZE logicalSize = {100, 100};dc.LPtoHIMETRIC(&logicalSize);// 现在 logicalSize 中的大小已经转换为 HIMETRIC 单位// 可以在打印或图形相关的操作中使用这个大小在这个示例中,LPtoHIMETRIC 方法被用来将逻辑坐标的大小转换为 HIMETRIC 单位。这在打印相关的操作中特别有用,因为打印通常需要使用高分辨率的度量单位,以确保图形在打印时有足够的精度。通过这个方法,可以将逻辑坐标的大小...
MFC CDC 类 公共方法:CDC::LPtoDP
在 MFC(Microsoft Foundation Classes)中,CDC::LPtoDP 是 CDC 类的一个公共方法,用于将逻辑坐标转换为设备坐标。这个方法可以用于将逻辑坐标系下的坐标值转换为设备坐标系下的坐标值,方便在设备上进行绘制等操作。方法的声明如下:void CDC::LPtoDP( LPPOINT lpPoints, int nCount = 1 ) const;参数说明: lpPoints:指向 POINT 结构的指针,表示要转换的点或点数组。 nCount:指定要转换的点的数量,默认为 1。使用示例:CDC dc; // 假设已经创建了 CDC 对象POINT points[2] = { {10, 10}, {100, 100} };dc.LPtoDP(points, 2);// 现在 points 数组中的坐标已经转换为设备坐标系下的值// 可以在设备坐标系下使用这些坐标进行绘制操作在这个示例中,LPtoDP 方法被用来将逻辑坐标转换为设备坐标。这是在进行绘制操作时常用的步骤,因为逻辑坐标一般是相对于窗口客户区域的坐标,而设备坐标是实际的屏幕坐标。通过...
MFC CDC 类 公共方法:CDC::LineTo
在 MFC(Microsoft Foundation Classes)中,CDC::LineTo 是 CDC 类的一个公共方法,用于在设备上下文中从当前位置绘制一条直线到指定的点。方法的声明如下:BOOL CDC::LineTo( int x, int y );参数说明: x:直线终点的 x 坐标。 y:直线终点的 y 坐标。该方法返回一个布尔值,表示操作是否成功。如果成功,返回值为非零;如果失败,返回值为零。使用示例:CDC dc; // 假设已经创建了 CDC 对象// 假设当前位置是起点,已经通过 MoveTo 或者其他方法设置int x = 100;int y = 100;BOOL bResult = dc.LineTo(x, y);if (bResult) { // 在起点到终点之间绘制一条直线}在这个示例中,LineTo 方法用于从当前位置画一条直线到指定的终点 (x, y)。在实际使用中,通常需要先使用 MoveTo 方法设置起始点,然后使用 LineTo 方法画线。
MFC CDC 类 公共方法:CDC::IsPrinting
在 MFC(Microsoft Foundation Classes)中,CDC::IsPrinting 是 CDC 类的一个公共方法,用于确定当前设备上下文是否与打印相关。这个方法用于在绘图操作中检查是否处于打印状态,以便在打印和屏幕显示之间执行不同的操作。方法的声明如下:BOOL CDC::IsPrinting() const;该方法返回一个布尔值,如果当前设备上下文与打印相关,则返回非零值;否则返回零。使用示例:CDC dc; // 假设已经创建了 CDC 对象if (dc.IsPrinting()) { // 在打印状态下执行打印相关的操作 // 例如,设置打印字体、页面布局等}else { // 在屏幕显示状态下执行屏幕相关的操作 // 例如,设置屏幕显示字体、颜色等}这个示例中,IsPrinting 方法用于检查当前设备上下文是否与打印相关。根据返回值,可以执行不同于屏幕显示的打印相关操作。
MFC CDC 类 公共方法:CDC::InvertRgn
在 MFC(Microsoft Foundation Classes)中,CDC::InvertRgn 是 CDC 类的一个公共方法,用于在设备上绘制一个区域(CRgn 对象表示的区域),并反转区域内的颜色。这种方法通常用于创建反色效果,即将原来的颜色取反显示。方法的声明如下:BOOL CDC::InvertRgn( CRgn* pRgn );参数说明: pRgn:指向 CRgn 对象的指针,表示要反转颜色的区域。该方法返回一个布尔值,表示操作是否成功。如果成功,返回值为非零;如果失败,返回值为零。使用示例:CDC dc; // 假设已经创建了 CDC 对象CRgn region;region.CreateEllipticRgn(10, 10, 100, 100); // 创建一个椭圆形区域BOOL bResult = dc.InvertRgn(&region);if (bResult) { // 在区域内进行反转颜色的绘图操作 dc.Ellipse(10, 10, 100, 100);}这个示例中,InvertRgn 方法用于在设备上绘制一个区域并反转区域内的...
MFC CDC 类 公共方法:CDC::InvertRect
CDC::InvertRect 是 MFC(Microsoft Foundation Classes)中 CDC 类的一个公共方法,用于在设备上绘制一个矩形,并反转矩形区域的颜色。通常用于创建反色效果,即将原来的颜色取反显示。方法的声明如下:BOOL CDC::InvertRect( LPCRECT lpRect );参数说明: lpRect:指向 CRect 结构的指针,表示要反转颜色的矩形区域。该方法返回一个布尔值,表示操作是否成功。如果成功,返回值为非零;如果失败,返回值为零。使用示例:CDC dc; // 假设已经创建了 CDC 对象CRect rect(10, 10, 100, 100); // 设置一个矩形区域BOOL bResult = dc.InvertRect(&rect);if (bResult) { // 在矩形区域内进行反转颜色的绘图操作 dc.Rectangle(rect);}这个示例中,InvertRect 方法用于在设备上绘制一个矩形并反转矩形区域的颜色。如果操作成功,就在矩形区域内使用 Rectangle 方法绘制一个矩形。反转颜...
MFC CDC 类 公共方法:CDC::IntersectClipRect
CDC::IntersectClipRect 是 MFC(Microsoft Foundation Classes)中 CDC 类的一个公共方法,用于设置裁剪区域,以便在这个区域内进行绘图操作。这个方法的目的是将当前裁剪区域与指定的矩形相交,即取它们的交集作为新的裁剪区域。方法的声明如下:int CDC::IntersectClipRect( int x1, int y1, int x2, int y2 );参数说明: x1、y1:矩形左上角的坐标。 x2、y2:矩形右下角的坐标。该方法返回值表示新的裁剪区域的复杂性。如果返回值为 NULLREGION,则新的裁剪区域为空。如果返回值为 SIMPLEREGION,则新的裁剪区域是一个简单的矩形。如果返回值为 COMPLEXREGION,则新的裁剪区域是由多个矩形组成的复杂区域。使用示例:CDC dc; // 假设已经创建了 CDC 对象CRect rectClip(10, 10, 100, 100); // 设置一个矩形裁剪区域int result = dc.IntersectClipRect(rectClip);if ...
MFC CDC 类 公共方法:CDC::HIMETRICtoDP
CDC::HIMETRICtoDP 是 MFC(Microsoft Foundation Classes)中的一个公共方法,用于将设备无关的 HiMetric(HIMETRIC)单位转换为设备相关的设备点(Device Point,DP)单位。在 MFC 中,CDC 类代表设备上下文,是与设备相关的图形设备接口(GDI)的封装。HIMETRIC 是一种用于度量的单位,通常在打印和显示相关的任务中使用。以下是该方法的简要说明:void CDC::HIMETRICtoDP(SIZE* lpSize) const;参数 lpSize 是一个指向 SIZE 结构的指针,该结构包含要转换的 HiMetric 尺寸。HIMETRICtoDP 方法将 lpSize 中的尺寸从 HiMetric 单位转换为设备点(DP)单位,并将结果存储回 lpSize。例如,如果有一个 SIZE 结构表示宽度和高度,可以使用 HIMETRICtoDP 方法将这些尺寸从 HiMetric 转换为设备点:SIZE sizeInHiMetric = {1000, 1500}; // 1000 HiMetric unit...
MFC CDC 类 公共方法:CDC::GrayString
CDC::GrayString 是 MFC(Microsoft Foundation Classes)中的一个公共方法,用于在设备上下文(Device Context,简称 DC)中绘制一个字符串,并以指定的比例混合字符串的文本和背景颜色,从而创建一种灰度效果。BOOL GrayString(HBRUSH hBrush, BOOL (CALLBACK* lpfnOutput)(HDC, LPARAM, int), LPARAM lpData, int nCount, int x, int y, int nWidth, int nHeight);这个方法返回一个布尔值,指示是否成功执行灰度字符串的绘制。参数说明: hBrush: 用于绘制文本背景的画刷句柄。 lpfnOutput: 一个回调函数,用于输出字符串的每个字符。该函数的原型为 BOOL CALLBACK lpfnOutput(HDC hdc, LPARAM lpData, int nCount)。 lpData: 传递给 lpfnOutput 回调函数的用户数据。 nCount: 要处理的字符数。 x, y: 绘制字符串...
MFC CDC 类 公共方法:CDC::GetWorldTransform
CDC::GetWorldTransform 是 MFC(Microsoft Foundation Classes)中的一个公共方法,用于获取当前设备上下文(Device Context,简称 DC)的世界变换矩阵。BOOL GetWorldTransform(XFORM* pXform) const;这个方法返回一个布尔值,指示是否成功获取世界变换矩阵。如果成功,pXform 将包含世界变换矩阵的信息。参数说明: pXform: 一个指向 XFORM 结构的指针,用于接收世界变换矩阵的信息。XFORM 结构包含了有关仿射变换矩阵的详细信息,例如平移、旋转、缩放等。typedef struct _XFORM { float eM11; float eM12; float eM21; float eM22; float eDx; float eDy;} XFORM;使用示例:CDC dc; // 假设已经创建了一个 CDC 对象XFORM worldTransform;BOOL bResult = dc.GetWorldTransform(&w...
MFC CDC 类 公共方法:CDC::GetWindowOrg
CDC::GetWindowOrg 是 MFC(Microsoft Foundation Classes)中的一个公共方法,用于获取当前设备上下文(Device Context,简称 DC)的窗口原点的坐标。CPoint GetWindowOrg() const;这个方法返回一个 CPoint 对象,其中包含了当前设备上下文的窗口原点的坐标。使用示例:CDC dc; // 假设已经创建了一个 CDC 对象CPoint windowOrg = dc.GetWindowOrg();int nWindowX = windowOrg.x;int nWindowY = windowOrg.y;在这个示例中,windowOrg 包含了当前设备上下文的窗口原点的坐标。你可以使用 x 和 y 成员分别获取水平和垂直方向上的坐标。
MFC CDC 类 公共方法:CDC::GetWindowExt
CDC::GetWindowExt 是 MFC(Microsoft Foundation Classes)中的一个公共方法,用于获取当前设备上下文(Device Context,简称 DC)的窗口的水平和垂直的逻辑单位尺寸。CSize GetWindowExt() const;这个方法返回一个 CSize 对象,其中包含了当前设备上下文的窗口的水平和垂直的逻辑单位尺寸。使用示例:CDC dc; // 假设已经创建了一个 CDC 对象CSize windowExt = dc.GetWindowExt();int nWindowWidth = windowExt.cx;int nWindowHeight = windowExt.cy;在这个示例中,windowExt 包含了当前设备上下文的窗口的逻辑单位尺寸。你可以使用 cx 和 cy 成员分别获取水平和垂直的逻辑单位尺寸。