MFC CDC 类 公共方法:CDC::AbortDoc
在 MFC(Microsoft Foundation Classes)中,CDC::AbortDoc 是用于终止打印文档的方法。具体定义如下:virtual int AbortDoc();这个方法通常用于打印操作,如果在打印文档的过程中出现错误或者用户取消了打印操作,可以调用 AbortDoc 来取消打印作业。该方法返回一个整数值,通常为小于等于零的值表示取消打印操作成功,而大于零的值则表示出现错误。以下是一个简单的示例,演示了如何在 MFC 中使用 AbortDoc 方法:CDC dc;if (dc.StartDoc(_T("My Document")) > 0) { // 执行打印操作 dc.TextOut(100, 100, _T("Hello, World!")); // 如果出现错误或用户取消打印,终止打印文档 dc.AbortDoc();} else { // 打印文档启动失败}请注意,实际使用时需要根据具体情况进行适当的错误处理和用户交互。
MFC CDC 类 公共方法:CDC::TransparentBlt
在 MFC(Microsoft Foundation Classes)中,CDC::TransparentBlt 是一个公共方法,用于在设备上下文(Device Context,简称DC)中执行透明位块传输(Transparent BitBlt)。透明位块传输是指在将图像从一个设备上下文传输到另一个设备上下文时,将某一颜色视为透明色,使该颜色在目标设备上下文中不显示。方法定义如下:BOOL CDC::TransparentBlt( int xDest, int yDest, int nDestWidth, int nDestHeight, CDC* pSrcDC, int xSrc, int ySrc, int nSrcWidth, int nSrcHeight, UINT crTransparent);参数说明: xDest、yDest:目标矩形的左上角坐标。 nDestWidth、nDestHeight:目标矩形的宽度和高度。 pSrcDC:指向源设备上下文的指针。 xSrc、ySrc:源矩形的左上角坐标。 nSrcWidth、nSrcHeight:源矩形的宽度...
MFC CDC 类 公共方法:CDC::TextOut
CDC::TextOut 是 MFC(Microsoft Foundation Classes)中的一个公共方法,用于在设备上下文(Device Context,简称DC)中输出文本。该方法的定义如下:int CDC::TextOut( int x, int y, LPCTSTR lpszString, int nCount) const;参数说明: x:指定输出文本的横坐标。 y:指定输出文本的纵坐标。 lpszString:指向包含要输出的文本的字符串的指针。 nCount:指定要输出的字符数。这个方法的作用是在设备上下文的指定位置输出指定数量的文本。例如,你可以在绘图操作中使用这个方法将文本输出到指定的位置。
MFC CDC 类 公共方法:CDC::TabbedTextOut
CDC::TabbedTextOut 是 MFC(Microsoft Foundation Classes)库中的方法之一,用于在设备上下文中绘制经过制表符格式化的文本。方法原型如下:LONG TabbedTextOut( int x, int y, LPCTSTR lpszString, int nCount, int nTabPositions, LPINT lpnTabStopPositions, int nTabOrigin);参数说明: x 和 y 表示文本的起始点坐标。 lpszString 表示要绘制的文本。 nCount 表示要绘制的文本的字符数。 nTabPositions 表示制表符的数量。 lpnTabStopPositions 是一个整型数组,表示每个制表符的位置。数组的长度应该至少为 nTabPositions。 nTabOrigin 表示制表符的起始位置。返回值是实际绘制的文本的宽度。以下是一个简单的例子,演示如何使用 TabbedTextOut 方法:CClientDC dc(this); // 创建一个设备上下文// 设置制表...
MFC CDC 类 公共方法:CDC::StrokePath
CDC::StrokePath 是 MFC(Microsoft Foundation Classes)库中的方法之一,用于描绘路径。方法原型如下:BOOL StrokePath();该方法绘制通过 BeginPath 和 EndPath 定义的路径,但不填充路径。在调用该方法之前,必须先通过 BeginPath 开始定义路径,然后使用一系列的 GDI 函数来添加线条和曲线,最后通过 EndPath 结束定义路径。以下是一个简单的例子,演示如何使用 StrokePath 方法:CClientDC dc(this); // 创建一个设备上下文// 开始定义路径dc.BeginPath();// 添加一些线条和曲线,这里只是示例dc.MoveTo(50, 50);dc.LineTo(100, 100);dc.LineTo(150, 50);dc.ArcTo(100, 0, 200, 100, 150, 50, 100, 0);// 结束定义路径dc.EndPath();// 描绘路径BOOL result = dc.StrokePath();if (!result) { // 描绘路径...
MFC CDC 类 公共方法:CDC::StrokeAndFillPath
CDC::StrokeAndFillPath 是 MFC(Microsoft Foundation Classes)库中的方法之一,用于描绘并填充路径。方法原型如下:BOOL StrokeAndFillPath();该方法绘制并填充通过 BeginPath 和 EndPath 定义的路径。在调用该方法之前,必须先通过 BeginPath 开始定义路径,然后使用一系列的 GDI 函数来添加线条和曲线,最后通过 EndPath 结束定义路径。以下是一个简单的例子,演示如何使用 StrokeAndFillPath 方法:CClientDC dc(this); // 创建一个设备上下文// 开始定义路径dc.BeginPath();// 添加一些线条和曲线,这里只是示例dc.MoveTo(50, 50);dc.LineTo(100, 100);dc.LineTo(150, 50);dc.ArcTo(100, 0, 200, 100, 150, 50, 100, 0);// 结束定义路径dc.EndPath();// 描绘并填充路径BOOL result = dc.StrokeAndFillPa...
MFC CDC 类 公共方法:CDC::StretchBlt
CDC::StretchBlt 是 MFC(Microsoft Foundation Classes)库中的方法之一,用于在设备上下文中进行位图拉伸绘制。方法原型如下:BOOL StretchBlt( int x, int y, int nWidth, int nHeight, CDC* pSrcDC, int xSrc, int ySrc, int nSrcWidth, int nSrcHeight, DWORD dwRop );参数说明: x 和 y 表示目标矩形的左上角坐标。 nWidth 和 nHeight 表示目标矩形的宽度和高度。 pSrcDC 是源设备上下文,表示要拉伸的位图的来源。 xSrc 和 ySrc 表示源矩形的左上角坐标。 nSrcWidth 和 nSrcHeight 表示源矩形的宽度和高度。 dwRop 是二进制光栅操作码,指定如何将源矩形的颜色与目标矩形的颜色组合。返回值为操作是否成功,TRUE 表示成功,FALSE 表示失败。以下是一个简单的例子,演示如何使用 StretchBlt 方法:CClientDC dc(t...
MFC CDC 类 公共方法:CDC::StartPage
CDC::StartPage 是 MFC(Microsoft Foundation Classes)库中的方法之一,用于开始打印页的操作。这个方法用于通知打印机开始一个新的打印页。方法原型如下:virtual int StartPage();返回值表示操作的结果,通常为非负数表示成功,负数表示失败。以下是一个简单的例子,演示如何使用 StartPage 方法:CPrintDialog printDlg(FALSE);if (printDlg.DoModal() == IDOK) { CDC dc; dc.Attach(printDlg.GetPrinterDC()); DOCINFO docInfo; memset(&docInfo, 0, sizeof(DOCINFO)); docInfo.cbSize = sizeof(DOCINFO); docInfo.lpszDocName = _T("MyPrintDocument"); int result = dc.StartDoc(docInfo); if (r...
MFC CDC 类 公共方法:CDC::StartDoc
CDC::StartDoc 是 MFC(Microsoft Foundation Classes)库中的方法之一,用于开始一个打印文档的操作。这个方法用于通知打印机启动一个新文档的打印任务。方法原型如下:virtual int StartDoc( const CString& strDocName );参数 strDocName 是要打印的文档的名称,它将显示在打印对话框中。返回值表示操作的结果,通常为非负数表示成功,负数表示失败。返回值是一个由 GDI 打印系统定义的文档标识符。以下是一个简单的例子,演示如何使用 StartDoc 方法:CPrintDialog printDlg(FALSE);if (printDlg.DoModal() == IDOK) { CDC dc; dc.Attach(printDlg.GetPrinterDC()); DOCINFO docInfo; memset(&docInfo, 0, sizeof(DOCINFO)); docInfo.cbSize = sizeof(DOCINFO); doc...
MFC CDC 类 公共方法:CDC::SetWorldTransform
CDC::SetWorldTransform 是 MFC(Microsoft Foundation Classes)库中的方法之一,用于设置设备上下文的世界变换矩阵。方法原型如下:BOOL SetWorldTransform( const XFORM* pXform );参数 pXform 是一个指向 XFORM 结构的指针,表示要设置的世界变换矩阵。XFORM 结构定义如下:typedef struct tagXFORM { float eM11; float eM12; float eM21; float eM22; float eDx; float eDy;} XFORM, *PXFORM;eM11 到 eDy 分别表示矩阵的各个元素。设置成功返回 TRUE,否则返回 FALSE。以下是一个简单的例子,演示如何使用 SetWorldTransform 方法:CClientDC dc(this); // 创建一个设备上下文// 设置世界变换矩阵XFORM xform;xform.eM11 = 2.0f; // 水平缩放因子xform.eM12 = 0.0f; /...
MFC CDC 类 公共方法:CDC::SetWindowOrg
CDC::SetWindowOrg 是 MFC(Microsoft Foundation Classes)库中的方法之一,用于设置设备上下文的窗口(window)的原点位置。方法原型如下:CPoint SetWindowOrg( int x, int y );参数 x 和 y 表示窗口原点的横向和纵向坐标。该方法返回的是之前的窗口原点,通常在设置之前会保存之前的值以便需要时进行还原。以下是一个简单的例子,演示如何使用 SetWindowOrg 方法:CClientDC dc(this); // 创建一个设备上下文// 设置窗口原点为 (50, 50)CPoint oldWindowOrg = dc.SetWindowOrg(50, 50);// 在设备上下文中进行绘制操作// 恢复原来的窗口原点dc.SetWindowOrg(oldWindowOrg);在这个例子中,SetWindowOrg 方法被用于设置设备上下文的窗口原点,然后在进行绘制操作。最后,通过 SetWindowOrg 方法还原窗口原点。
MFC CDC 类 公共方法:CDC::SetWindowExt
CDC::SetWindowExt 是 MFC(Microsoft Foundation Classes)库中的方法之一,用于设置设备上下文的窗口(window)的横向和纵向的范围。方法原型如下:CSize SetWindowExt( int x, int y );参数 x 和 y 表示窗口范围的横向和纵向大小。该方法返回的是之前的窗口范围,通常在设置之前会保存之前的值以便需要时进行还原。以下是一个简单的例子,演示如何使用 SetWindowExt 方法:CClientDC dc(this); // 创建一个设备上下文// 设置窗口范围为 (200, 200)CSize oldWindowExt = dc.SetWindowExt(200, 200);// 在设备上下文中进行绘制操作// 恢复原来的窗口范围dc.SetWindowExt(oldWindowExt);在这个例子中,SetWindowExt 方法被用于设置设备上下文的窗口范围,然后在进行绘制操作。最后,通过 SetWindowExt 方法还原窗口范围。
MFC CDC 类 公共方法:CDC::SetViewportOrg
CDC::SetViewportOrg 是 MFC(Microsoft Foundation Classes)库中的方法之一,用于设置设备上下文的视口(viewport)的原点位置。方法原型如下:CPoint SetViewportOrg( int x, int y );参数 x 和 y 表示视口原点的横向和纵向坐标。该方法返回的是之前的视口原点,通常在设置之前会保存之前的值以便需要时进行还原。以下是一个简单的例子,演示如何使用 SetViewportOrg 方法:CClientDC dc(this); // 创建一个设备上下文// 设置视口原点为 (50, 50)CPoint oldViewportOrg = dc.SetViewportOrg(50, 50);// 在设备上下文中进行绘制操作// 恢复原来的视口原点dc.SetViewportOrg(oldViewportOrg);在这个例子中,SetViewportOrg 方法被用于设置设备上下文的视口原点,然后在进行绘制操作。最后,通过 SetViewportOrg 方法还原视口原点。
MFC CDC 类 公共方法:CDC::SetViewportExt
CDC::SetViewportExt 是 MFC(Microsoft Foundation Classes)库中的方法之一,用于设置设备上下文的视口(viewport)的横向和纵向的范围。方法原型如下:CSize SetViewportExt( int x, int y );参数 x 和 y 表示横向和纵向的范围。该方法返回的是之前的视口范围,通常在设置之前会保存之前的值以便需要时进行还原。以下是一个简单的例子,演示如何使用 SetViewportExt 方法:CClientDC dc(this); // 创建一个设备上下文// 设置视口范围为 (100, 100)CSize oldViewportExt = dc.SetViewportExt(100, 100);// 在设备上下文中进行绘制操作// 恢复原来的视口范围dc.SetViewportExt(oldViewportExt);在这个例子中,SetViewportExt 方法被用于设置设备上下文的视口范围,然后在进行绘制操作。最后,通过 SetViewportExt 方法还原视口范围。
MFC CDC 类 公共方法:CDC::SetTextJustification
CDC::SetTextJustification 是 MFC(Microsoft Foundation Classes)库中的方法之一,用于设置文本的字间距和行间距。方法原型如下:int SetTextJustification( int nBreakExtra, int nBreakCount );参数说明: nBreakExtra 表示每个空格之后的额外空间(以设备单元为单位)。 nBreakCount 表示在哪些空格之后插入额外空间。返回值是之前的字间距,通常在设置之前会保存之前的值以便需要时进行还原。以下是一个简单的例子,演示如何使用 SetTextJustification 方法:CClientDC dc(this); // 创建一个设备上下文// 设置文本的字间距为 10,每 2 个空格插入额外空间int oldBreakExtra = dc.SetTextJustification(10, 2);// 在设备上下文中绘制文本CString strText = _T("Hello, MFC!");CRect rect(50, 50, 150, ...
MFC CDC 类 公共方法:CDC::SetTextColor
CDC::SetTextColor 是 MFC(Microsoft Foundation Classes)库中的方法之一,用于设置文本的颜色。方法原型如下:COLORREF SetTextColor( COLORREF crColor );参数 crColor 表示要设置的文本颜色,它是一个 COLORREF 类型的颜色值。返回值是之前的文本颜色,通常在设置之前会保存之前的颜色以便需要时进行还原。以下是一个简单的例子,演示如何使用 SetTextColor 方法:CClientDC dc(this); // 创建一个设备上下文// 设置文本颜色为红色COLORREF oldTextColor = dc.SetTextColor(RGB(255, 0, 0));// 在设备上下文中绘制文本CString strText = _T("Hello, MFC!");CRect rect(50, 50, 150, 150);dc.DrawText(strText, &rect, DT_SINGLELINE | DT_CENTER | DT_VCENTER);// ...
MFC CDC 类 公共方法:CDC::SetTextCharacterExtra
CDC::SetTextCharacterExtra 是 MFC(Microsoft Foundation Classes)库中的方法之一,用于设置字符间距。方法原型如下:int SetTextCharacterExtra( int nCharExtra );参数 nCharExtra 表示要设置的额外字符间距。正值增加字符之间的间距,负值减小间距。默认值为 0。返回值是之前的字符间距,通常在设置之前会保存之前的值以便需要时进行还原。以下是一个简单的例子,演示如何使用 SetTextCharacterExtra 方法:CClientDC dc(this); // 创建一个设备上下文// 设置字符间距为 5int oldCharExtra = dc.SetTextCharacterExtra(5);// 在设备上下文中绘制文本CString strText = _T("Hello, MFC!");CRect rect(50, 50, 150, 150);dc.DrawText(strText, &rect, DT_SINGLELINE | DT_CENTE...
MFC CDC 类 公共方法:CDC::SetTextAlign
CDC::SetTextAlign 是 MFC(Microsoft Foundation Classes)库中的方法之一,用于设置文本的对齐方式。方法原型如下:UINT SetTextAlign( UINT nFlags );参数 nFlags 表示要设置的文本对齐标志,可以是下列值之一,也可以通过按位或(|)组合多个标志: TA_BASELINE: 将文本的基线与指定点的基线对齐。 TA_BOTTOM: 将文本与指定点的底部对齐。 TA_TOP: 将文本与指定点的顶部对齐。 TA_CENTER: 将文本水平和垂直居中对齐。 TA_LEFT: 将文本与指定点的左侧对齐。 TA_RIGHT: 将文本与指定点的右侧对齐。返回值是之前的文本对齐标志,通常在设置之前会保存之前的标志以便需要时进行还原。以下是一个简单的例子,演示如何使用 SetTextAlign 方法:CClientDC dc(this); // 创建一个设备上下文// 设置文本对齐方式为水平居中和垂直居中UINT oldTextAlign = dc.SetTextAlign(TA_CENTER | TA_VCENTER);...
MFC CDC 类 公共方法:CDC::SetStretchBltMode
CDC::SetStretchBltMode 是 MFC(Microsoft Foundation Classes)库中的方法之一,用于设置位图拉伸(StretchBlt)操作的模式。拉伸模式决定了拉伸位图时像素如何插值。方法原型如下:int SetStretchBltMode( int iStretchMode );参数 iStretchMode 表示要设置的拉伸模式,可以是下列值之一: COLORONCOLOR: 使用颜色对颜色进行简单拉伸。 HALFTONE: 使用半色调算法进行拉伸,产生更平滑的效果。返回值是之前的拉伸模式,通常在设置之前会保存之前的模式以便需要时进行还原。以下是一个简单的例子,演示如何使用 SetStretchBltMode 方法:CClientDC dc(this); // 创建一个设备上下文// 设置位图拉伸模式为半色调int oldStretchMode = dc.SetStretchBltMode(HALFTONE);// 在设备上下文中绘制拉伸的位图CBitmap bmp;bmp.LoadBitmap(IDB_BITMAP1); // 假设有一个...
MFC CDC 类 公共方法:CDC::SetROP2
CDC::SetROP2 是 MFC(Microsoft Foundation Classes)库中的方法之一,用于设置设备上下文的二进制光栅操作模式(Raster Operation Mode)。它影响绘图操作的混合方式,决定新像素如何与现有像素组合。方法原型如下:int SetROP2( int nDrawMode );参数 nDrawMode 表示要设置的二进制光栅操作模式,可以是下列值之一: R2_BLACK: 将新像素设置为黑色。 R2_WHITE: 将新像素设置为白色。 R2_NOP: 不执行任何操作。 R2_NOT: 对源和目标进行取反操作。 R2_COPYPEN: 将源像素复制到目标像素。 R2_NOTCOPYPEN: 将源像素的反转复制到目标像素。 等等。返回值是之前的二进制光栅操作模式,通常在设置之前会保存之前的模式以便需要时进行还原。以下是一个简单的例子,演示如何使用 SetROP2 方法:CClientDC dc(this); // 创建一个设备上下文// 设置二进制光栅操作模式为将源像素复制到目标像素int oldROP2Mode = dc.SetROP2...