MFC CDC 类 公共方法:CDC::SetPolyFillMode
CDC::SetPolyFillMode 是 MFC(Microsoft Foundation Classes)库中的方法之一,用于设置多边形的填充模式。它影响绘制多边形时的填充方式。方法原型如下:int SetPolyFillMode( int nPolyFillMode );参数 nPolyFillMode 表示设置的填充模式,可以是下列值之一: ALTERNATE: 表示使用交替的填充模式,即绘制多边形内的点和边。 WINDING: 表示使用紧密的填充模式,即绘制多边形内的点,而不考虑边。返回值是之前的填充模式,通常在设置之前会保存之前的模式以便需要时进行还原。以下是一个简单的例子,演示如何使用 SetPolyFillMode 方法:CClientDC dc(this); // 创建一个设备上下文// 设置多边形填充模式为交替模式int oldPolyFillMode = dc.SetPolyFillMode(ALTERNATE);// 在设备上下文中绘制一个多边形POINT points[] = { {100, 100}, {200, 100}, {150, 200} };...
MFC CDC 类 公共方法:CDC::SetPixel
CDC::SetPixel 是 MFC(Microsoft Foundation Classes)库中的一个方法,用于在设备上下文中设置指定坐标处的像素颜色。这个方法的原型如下:COLORREF SetPixel( int x, int y, COLORREF crColor );参数说明: x 和 y 是要设置的像素的坐标。 crColor 是一个 COLORREF 类型的颜色值,表示要设置的像素颜色。这个方法返回一个 COLORREF 值,表示在设置之前该像素的颜色。下面是一个简单的例子,演示如何使用 SetPixel 方法:CClientDC dc(this); // 创建一个设备上下文// 设置坐标 (100, 100) 处的像素颜色为红色COLORREF oldColor = dc.SetPixel(100, 100, RGB(255, 0, 0));// 这里可以添加其他绘图操作// 恢复原来的像素颜色dc.SetPixel(100, 100, oldColor);在实际应用中,你可能会在更复杂的绘图操作中使用 SetPixel 方法。要注意,SetPixel ...
MFC CDC 类 公共方法:CDC::SetOutputDC
CDC::SetOutputDC 是 MFC(Microsoft Foundation Classes)中 CDC 类的一个公共方法,用于设置输出设备上下文(output DC)。以下是 CDC::SetOutputDC 方法的基本语法:CDC* SetOutputDC( CDC* pDC // 新的输出设备上下文的指针);参数 pDC 是一个指向输出设备上下文的指针。该方法用于设置输出设备上下文,以便在某些操作中使用输出设备上下文的属性。方法返回一个指向先前的输出设备上下文的指针,以便在之后需要的时候恢复。示例代码:CDC dc; // 假设已经创建了 CDC 对象CDC outputDC; // 假设已经创建了另一个 CDC 对象,作为输出设备上下文// 在此处初始化 outputDC,设置一些属性// 设置输出设备上下文CDC* pOldOutputDC = dc.SetOutputDC(&outputDC);// 在此处进行使用输出设备上下文的绘图操作// 恢复原始的输出设备上下文dc.SetOutputDC(pOldOutputDC);在这个示例中,通过 ...
MFC CDC 类 公共方法:CDC::SetMiterLimit
CDC::SetMiterLimit 是 MFC(Microsoft Foundation Classes)中 CDC 类的一个公共方法,用于设置设备上下文(DC)的斜接限制。以下是 CDC::SetMiterLimit 方法的基本语法:BOOL SetMiterLimit( FLOAT eNewLimit, // 新的斜接限制值 BOOL* pbOldLimit // 用于接收先前斜接限制值的指针); 参数 eNewLimit 是一个浮点数,表示新的斜接限制值。 参数 pbOldLimit 是一个指向布尔值的指针,用于接收先前的斜接限制值。可以为 NULL,表示不需要获得先前的值。方法返回一个布尔值,表示是否设置成功。示例代码:CDC dc; // 假设已经创建了 CDC 对象// 设置新的斜接限制值BOOL success;float newLimit = 2.0f;BOOL oldLimit;success = dc.SetMiterLimit(newLimit, &oldLimit);if (success) { // 在此处进行使用新的斜接限制...
MFC CDC 类 公共方法:CDC::SetMapperFlags
CDC::SetMapperFlags 是 MFC(Microsoft Foundation Classes)中 CDC 类的一个公共方法,用于设置设备上下文(DC)的映射标志。以下是 CDC::SetMapperFlags 方法的基本语法:DWORD SetMapperFlags( DWORD dwFlag // 新的映射标志);参数 dwFlag 是一个无符号长整数,用于指定新的映射标志。映射标志影响设备上下文中的映射模式和单位。方法返回先前的映射标志,以便在之后需要的时候恢复。示例代码:CDC dc; // 假设已经创建了 CDC 对象// 设置映射标志DWORD oldMapperFlags = dc.SetMapperFlags(MAPMODE_LOMETRIC);// 在此处进行使用新的映射标志的绘图操作// 恢复原始的映射标志dc.SetMapperFlags(oldMapperFlags);在这个示例中,通过 SetMapperFlags 方法将映射标志设置为 MAPMODE_LOMETRIC,然后在绘图操作完成后,通过再次调用 SetMapperFlags ...
MFC CDC 类 公共方法:CDC::SetMapMode
CDC::SetMapMode 是 MFC(Microsoft Foundation Classes)中 CDC 类的一个公共方法,用于设置设备上下文(DC)的映射模式。以下是 CDC::SetMapMode 方法的基本语法:int SetMapMode( int nMapMode // 新的映射模式,可以是 MM_TEXT、MM_LOMETRIC、MM_HIMETRIC、MM_LOENGLISH 等);参数 nMapMode 是一个整数,用于指定新的映射模式。可以使用一些常量来指定不同的映射模式,例如: MM_TEXT:逻辑单位等于物理单位,不进行映射。 MM_LOMETRIC:逻辑单位是 0.1 毫米。 MM_HIMETRIC:逻辑单位是 0.01 毫米。 MM_LOENGLISH:逻辑单位是 0.01 英寸。方法返回先前的映射模式,以便在之后需要的时候恢复。示例代码:CDC dc; // 假设已经创建了 CDC 对象// 设置映射模式为 0.1 毫米int oldMapMode = dc.SetMapMode(MM_LOMETRIC);// 在此处进行使用新的映射模式的...
MFC CDC 类 公共方法:CDC::SetLayout
CDC::SetLayout 是 MFC(Microsoft Foundation Classes)中 CDC 类的一个公共方法,用于设置设备上下文(DC)的文本布局。以下是 CDC::SetLayout 方法的基本语法:DWORD SetLayout( DWORD dwLayout // 新的文本布局,可以是 LAYOUT_LTR 或 LAYOUT_RTL);参数 dwLayout 是一个无符号长整数,用于指定新的文本布局。可以使用以下两个常量之一: LAYOUT_LTR:表示从左到右的文本布局。 LAYOUT_RTL:表示从右到左的文本布局。方法返回先前的文本布局,以便在之后需要的时候恢复。示例代码:CDC dc; // 假设已经创建了 CDC 对象// 设置文本布局为从右到左DWORD oldLayout = dc.SetLayout(LAYOUT_RTL);// 在此处进行使用新的文本布局的绘图操作// 恢复原始的文本布局dc.SetLayout(oldLayout);在这个示例中,通过 SetLayout 方法将文本布局设置为从右到左,然后在绘图操作完成后,通过再次...
MFC CDC 类 公共方法:CDC::SetGraphicsMode
CDC::SetGraphicsMode 是 MFC(Microsoft Foundation Classes)中 CDC 类的一个公共方法,用于设置设备上下文(DC)的图形模式。以下是 CDC::SetGraphicsMode 方法的基本语法:int SetGraphicsMode( int iMode // 新的图形模式,可以是 GM_COMPATIBLE 或 GM_ADVANCED);参数 iMode 是一个整数,用于指定新的图形模式。可以使用以下两个常量之一: GM_COMPATIBLE:使用兼容图形模式。在这种模式下,GDI 会将图形操作映射到传统的 GDI 函数。 GM_ADVANCED:使用高级图形模式。在这种模式下,GDI 会使用更复杂的图形操作,允许更灵活的绘图。方法返回先前的图形模式,以便在之后需要的时候恢复。示例代码:CDC dc; // 假设已经创建了 CDC 对象// 设置图形模式为高级模式int oldGraphicsMode = dc.SetGraphicsMode(GM_ADVANCED);// 在此处进行使用新的图形模式的绘图操作// 恢复原...
MFC CDC 类 公共方法:CDC::SetDCPenColor
CDC::SetDCPenColor 是 MFC(Microsoft Foundation Classes)中 CDC 类的一个公共方法,用于设置设备上下文(DC)中当前选择的设备画笔的颜色。以下是 CDC::SetDCPenColor 方法的基本语法:COLORREF SetDCPenColor( COLORREF crColor // 新的设备画笔颜色值);参数 crColor 是一个 COLORREF 类型的颜色值,用于指定新的设备画笔颜色。COLORREF 是一个 32 位的值,其中包含了 RGB 颜色信息。方法返回先前的设备画笔颜色,以便在之后需要的时候恢复。示例代码:CDC dc; // 假设已经创建了 CDC 对象// 设置设备画笔颜色为红色COLORREF oldPenColor = dc.SetDCPenColor(RGB(255, 0, 0));// 在此处进行使用新的设备画笔颜色的绘图操作// 恢复原始的设备画笔颜色dc.SetDCPenColor(oldPenColor);在这个示例中,通过 SetDCPenColor 方法将设备画笔颜色设置为红色,然...
MFC CDC 类 公共方法:CDC::SetDCBrushColor
CDC::SetDCBrushColor 是 MFC(Microsoft Foundation Classes)中 CDC 类的一个公共方法,用于设置设备上下文(DC)中当前选择的设备画刷的颜色。以下是 CDC::SetDCBrushColor 方法的基本语法:COLORREF SetDCBrushColor( COLORREF crColor // 新的设备画刷颜色值);参数 crColor 是一个 COLORREF 类型的颜色值,用于指定新的设备画刷颜色。COLORREF 是一个 32 位的值,其中包含了 RGB 颜色信息。方法返回先前的设备画刷颜色,以便在之后需要的时候恢复。示例代码:CDC dc; // 假设已经创建了 CDC 对象// 设置设备画刷颜色为蓝色COLORREF oldBrushColor = dc.SetDCBrushColor(RGB(0, 0, 255));// 在此处进行使用新的设备画刷颜色的绘图操作// 恢复原始的设备画刷颜色dc.SetDCBrushColor(oldBrushColor);在这个示例中,通过 SetDCBrushColor ...
MFC CDC 类 公共方法:CDC::SetColorAdjustment
CDC::SetColorAdjustment 是 MFC(Microsoft Foundation Classes)中 CDC 类的一个公共方法,用于设置设备上下文(DC)的颜色调整参数。以下是 CDC::SetColorAdjustment 方法的基本语法:BOOL SetColorAdjustment( const COLORADJUSTMENT* lpColorAdjust // 指向 COLORADJUSTMENT 结构的指针);参数 lpColorAdjust 是一个指向 COLORADJUSTMENT 结构的指针,该结构定义了颜色调整的参数。COLORADJUSTMENT 结构的定义如下:typedef struct tagCOLORADJUSTMENT { WORD caSize; WORD caFlags; WORD caIlluminantIndex; WORD caRedGamma; WORD caGreenGamma; WORD caBlueGamma; WORD caReferenceBlack; WORD caRefe...
MFC CDC 类 公共方法:CDC::SetBrushOrg
CDC::SetBrushOrg 是 MFC(Microsoft Foundation Classes)中 CDC 类的一个公共方法,用于设置设备上下文(DC)中当前选择的画刷的原点(brush origin)。以下是 CDC::SetBrushOrg 方法的基本语法:CPoint SetBrushOrg( int x, // 新的画刷原点的 x 坐标 int y // 新的画刷原点的 y 坐标);参数 x 和 y 分别是新的画刷原点的 x 和 y 坐标。这个方法返回一个 CPoint 对象,其中包含了先前的画刷原点的坐标。画刷原点是相对于设备上下文的坐标系统而言的,而不是相对于窗口或客户区的坐标系统。画刷原点的设置影响使用该画刷进行绘图时的起始位置。示例代码:CDC dc; // 假设已经创建了 CDC 对象// 设置新的画刷原点CPoint oldBrushOrg = dc.SetBrushOrg(10, 10);// 在此处进行使用新的画刷原点的绘图操作// 恢复原始的画刷原点dc.SetBrushOrg(oldBrushOrg);在这个示例中,通过 SetB...
MFC CDC 类 公共方法:CDC::SetBoundsRect
CDC::SetBoundsRect 是 MFC(Microsoft Foundation Classes)中 CDC 类的一个公共方法,用于设置设备上下文(DC)的裁剪矩形。以下是 CDC::SetBoundsRect 方法的基本语法:int SetBoundsRect( LPCRECT lpRectBounds, // 裁剪矩形的指针 UINT flags // 控制裁剪矩形的标志,可以是 DCB_RESET、DCB_ENABLE 或 DCB_DISABLE); 参数 lpRectBounds 是一个指向 RECT 结构的指针,指定裁剪矩形的坐标。 参数 flags 是一个无符号整数,用于控制裁剪矩形的行为,可以是以下之一或它们的组合: - DCB_RESET:将裁剪矩形重置为无穷大的矩形。 - DCB_ENABLE:启用裁剪矩形,使得只有位于裁剪矩形内的绘图操作才会被实际绘制出来。 - DCB_DISABLE:禁用裁剪矩形,使得不再进行裁剪。方法返回一个整数,表示之前的裁剪标志。通常,在进行裁剪矩形操作前,你可以调用这个方法保存先前的裁剪状态,在需要的时候进...
MFC CDC 类 公共方法:CDC::SetBkMode
CDC::SetBkMode 是 MFC(Microsoft Foundation Classes)中 CDC 类的一个公共方法,用于设置设备上下文(DC)的背景模式。以下是 CDC::SetBkMode 方法的基本语法:int SetBkMode( int nBkMode // 新的背景模式,可以是 OPAQUE 或 TRANSPARENT);参数 nBkMode 是一个整数,用于指定新的背景模式。可以使用以下两个常量之一: OPAQUE:表示使用不透明的背景。 TRANSPARENT:表示使用透明的背景。方法返回先前的背景模式,以便在之后需要的时候恢复。示例代码:CDC dc; // 假设已经创建了 CDC 对象// 设置背景模式为透明int oldBkMode = dc.SetBkMode(TRANSPARENT);// 在此处进行使用透明背景的绘图操作// 恢复原始的背景模式dc.SetBkMode(oldBkMode);在这个示例中,通过 SetBkMode 方法将背景模式设置为透明,然后在绘图操作完成后,通过再次调用 SetBkMode 并传递先前的背景模式,将原...
MFC CDC 类 公共方法:CDC::SetBkColor
CDC::SetBkColor 是 MFC(Microsoft Foundation Classes)中 CDC 类的一个公共方法,用于设置设备上下文(DC)的背景颜色。以下是 CDC::SetBkColor 方法的基本语法:COLORREF SetBkColor( COLORREF crColor // 新的背景颜色值);参数 crColor 是一个 COLORREF 类型的颜色值,用于指定新的背景颜色。COLORREF 是一个 32 位的值,其中包含了 RGB 颜色信息。方法返回先前的背景颜色,以便在之后需要的时候恢复。示例代码:CDC dc; // 假设已经创建了 CDC 对象// 设置背景颜色为红色COLORREF oldBkColor = dc.SetBkColor(RGB(255, 0, 0));// 在此处进行使用红色背景的绘图操作// 恢复原始的背景颜色dc.SetBkColor(oldBkColor);在这个示例中,通过 SetBkColor 方法将背景颜色设置为红色,然后在绘图操作完成后,通过再次调用 SetBkColor 并传递先前的背景颜色,将原始的背...
MFC CDC 类 公共方法:CDC::SetAttribDC
CDC::SetAttribDC 是 MFC(Microsoft Foundation Classes)中 CDC 类的一个公共方法,用于设置当前设备上下文的属性设备上下文。以下是 CDC::SetAttribDC 方法的基本语法:void SetAttribDC( CDC* pDC // 属性设备上下文的指针);参数 pDC 是一个指向属性设备上下文的指针。该方法用于将属性设备上下文与当前设备上下文相关联,以便在某些操作中使用属性设备上下文的属性。示例代码:CDC dc; // 假设已经创建了 CDC 对象CDC dcAttrib; // 假设已经创建了另一个 CDC 对象,作为属性设备上下文// 在此处初始化 dcAttrib,设置一些属性// 将 dcAttrib 设置为当前设备上下文的属性设备上下文dc.SetAttribDC(&dcAttrib);// 在此处进行使用属性设备上下文的绘图操作// 恢复原始的当前设备上下文dc.SetAttribDC(NULL);在这个示例中,通过 SetAttribDC 方法将 dcAttrib 设置为当前设备上下文的属性...
MFC CDC 类 公共方法:CDC::SetArcDirection
CDC::SetArcDirection 是 MFC(Microsoft Foundation Classes)中 CDC 类的一个公共方法,用于设置绘制弧形的方向,即顺时针或逆时针方向。以下是 CDC::SetArcDirection 方法的基本语法:int SetArcDirection( int nArcDirection // 弧形的方向,可以是 AD_COUNTERCLOCKWISE 或 AD_CLOCKWISE);参数 nArcDirection 指定了弧形的方向,可以是以下两个常量之一: AD_COUNTERCLOCKWISE:逆时针方向。 AD_CLOCKWISE:顺时针方向。方法返回一个整数,表示之前的弧形方向。通常,你可以在开始绘制弧形之前使用这个方法来设置方向,以确保绘制的弧形方向符合预期。示例代码:CDC dc; // 假设已经创建了 CDC 对象// 设置弧形方向为逆时针int nOldArcDirection = dc.SetArcDirection(AD_COUNTERCLOCKWISE);// 在此处进行使用逆时针方向的绘图操作// 恢复原始的...
MFC CDC 类 公共方法:CDC::SetAbortProc
CDC::SetAbortProc 是 MFC(Microsoft Foundation Classes)中 CDC 类的一个公共方法,用于设置终止函数(Abort Procedure)。终止函数是一个用户定义的回调函数,用于在打印或显示输出过程中处理中断请求,例如用户取消了打印操作。以下是 CDC::SetAbortProc 方法的基本语法:BOOL SetAbortProc( BOOL (CALLBACK* lpfn)(HDC, int));参数 lpfn 是一个指向用户定义的终止函数的指针。该函数应该有如下形式:BOOL CALLBACK AbortFunc( HDC hdc, // 设备上下文的句柄 int nCode // 中断代码); hdc 是设备上下文的句柄。 nCode 是中断代码,指示中断的类型。终止函数返回 TRUE 表示中断操作成功,返回 FALSE 表示继续进行操作。示例代码:CDC dc; // 假设已经创建了 CDC 对象// 定义用户定义的终止函数BOOL CALLBACK MyAbortFunc(HDC hdc, int nCo...
MFC CDC 类 公共方法:CDC::SelectStockObject
CDC::SelectStockObject 是 MFC(Microsoft Foundation Classes)中 CDC 类的一个公共方法,用于在设备上下文中选择一个标准的 GDI 对象,也称为 "stock object"。这些标准对象包括预定义的画刷、画笔、字体等,它们是在 Windows 操作系统中预先定义好的。以下是 CDC::SelectStockObject 方法的基本语法:CObject* SelectStockObject( int nIndex // 标准 GDI 对象的索引);参数 nIndex 是一个整数,用于指定要选择的标准 GDI 对象的索引。可以使用预定义的常量来指定不同的对象类型,例如: WHITE_BRUSH BLACK_BRUSH LTGRAY_BRUSH GRAY_BRUSH DKGRAY_BRUSH NULL_BRUSH WHITE_PEN BLACK_PEN NULL_PEN OEM_FIXED_FONT ANSI_FIXED_FONT ANSI_VAR_FONT 等等示例代码:CDC dc; // 假设已经创...
MFC CDC 类 公共方法:CDC::SelectPalette
CDC::SelectPalette 是 MFC(Microsoft Foundation Classes)中 CDC 类的一个公共方法,用于在设备上下文中选择一个调色板对象。调色板是一种用于管理颜色的对象,对于支持256色或更低颜色深度的设备非常重要。以下是 CDC::SelectPalette 方法的基本语法:CPalette* SelectPalette( CPalette* pPalette, // 要选择的调色板对象的指针 BOOL bForceBackground // 是否强制在背景中使用调色板); 参数 pPalette 是一个指向要选择的调色板对象的指针。 参数 bForceBackground 表示是否强制在背景中使用调色板。如果设置为 TRUE,则在背景绘制时使用调色板。示例代码:CDC dc; // 假设已经创建了 CDC 对象// 创建一个调色板对象CPalette myPalette;// 在此处初始化调色板,例如,通过 AddColor 或 CreateHalftonePalette 等方法// 选择调色板到设备上下文CPalette* pO...