MFC CDC 类 公共方法:CDC::GetPath
CDC::GetPath 是 MFC(Microsoft Foundation Classes)中的一个公共方法,用于获取当前设备上下文(DC)中的路径(CGdiObject 类的派生类)。路径是一种表示图形对象的方式,可以包括直线、曲线、弧线等。下面是一个简单的示例,演示如何使用 GetPath 方法:CDC dc; // 假设已经创建了设备上下文对象// 在设备上下文中创建一个路径dc.BeginPath();dc.MoveTo(10, 10);dc.LineTo(50, 50);dc.LineTo(10, 50);dc.CloseFigure();dc.EndPath();// 获取当前设备上下文中的路径CPen pen(PS_SOLID, 1, RGB(255, 0, 0));CBrush brush(RGB(0, 0, 255));dc.SelectObject(&pen);dc.SelectObject(&brush);// 获取路径CPen* pOldPen = dc.SelectObject(&pen);CBrush* pOldBrush = d...
MFC CDC 类 公共方法:CDC::GetOutputTextMetrics
CDC::GetOutputTextMetrics 是 MFC(Microsoft Foundation Classes)中的一个公共方法,用于获取文本度量信息。这个方法返回一个 TEXTMETRIC 结构,包含了有关当前字体的详细文本度量信息。下面是一个简单的示例,演示如何使用 GetOutputTextMetrics 方法:CDC dc; // 假设已经创建了设备上下文对象// 设置字体CFont font;font.CreatePointFont(120, _T("Arial"));dc.SelectObject(&font);// 获取文本度量信息TEXTMETRIC tm;dc.GetOutputTextMetrics(&tm);// 输出文本度量信息TRACE(_T("Ascent: %d\n"), tm.tmAscent);TRACE(_T("Descent: %d\n"), tm.tmDescent);TRACE(_T("Internal Leading: %d\n"), t...
MFC CDC 类 公共方法:CDC::GetOutputTextExtent
CDC::GetOutputTextExtent 是 MFC(Microsoft Foundation Classes)中的一个公共方法,用于获取文本在设备上下文中的输出尺寸(逻辑单位)。该方法返回一个 CSize 对象,包含文本的逻辑宽度和高度。下面是一个简单的示例,演示如何使用 GetOutputTextExtent 方法:CDC dc; // 假设已经创建了设备上下文对象// 设置字体CFont font;font.CreatePointFont(120, _T("Arial"));dc.SelectObject(&font);// 要测量的文本CString strText = _T("Hello, MFC!");// 获取文本的逻辑宽度和高度CSize size = dc.GetOutputTextExtent(strText);// 输出文本的逻辑宽度和高度TRACE(_T("Text Width: %d, Height: %d\n"), size.cx, size.cy);在这个示例中,首先设置字体并选择...
MFC CDC 类 公共方法:CDC::GetOutputTabbedTextExtent
CDC::GetOutputTabbedTextExtent 是 MFC(Microsoft Foundation Classes)中的一个公共方法,用于获取包含制表符的文本的宽度。该方法返回一个 CSize 对象,其中包含文本的逻辑宽度和高度。下面是一个简单的示例,演示如何使用 GetOutputTabbedTextExtent 方法:CDC dc; // 假设已经创建了设备上下文对象// 设置字体CFont font;font.CreatePointFont(120, _T("Arial"));dc.SelectObject(&font);// 设置制表符的宽度int nTabStops = 4; // 设置制表符个数DWORD rgdx[] = { 100, 200, 300, 400 }; // 设置制表符的宽度,以逻辑单位为单位// 要测量的文本CString strText = _T("Tab1\tTab2\tTab3\tTab4");// 获取文本的宽度CSize size = dc.GetOutputTabbedTextE...
MFC CDC 类 公共方法:CDC::GetOutputCharWidth
在MFC中,CDC::GetOutputCharWidth 方法被用于获取指定字体的字符宽度数组。这个方法允许你检索指定字体和字号下每个字符的宽度。下面是一个简单的示例:CDC dc; // 假设已经创建了设备上下文对象// 指定字体信息LOGFONT lf;lf.lfHeight = -MulDiv(12, GetDeviceCaps(dc, LOGPIXELSY), 72);lf.lfWidth = 0;lf.lfEscapement = 0;lf.lfOrientation = 0;lf.lfWeight = FW_NORMAL;lf.lfItalic = FALSE;lf.lfUnderline = FALSE;lf.lfStrikeOut = FALSE;lf.lfCharSet = DEFAULT_CHARSET;lf.lfOutPrecision = OUT_DEFAULT_PRECIS;lf.lfClipPrecision = CLIP_DEFAULT_PRECIS;lf.lfQuality = DEFAULT_QUALITY;lf.lfPitchAndFamily =...
MFC CDC 类 公共方法:CDC::GetOutlineTextMetrics
CDC::GetOutlineTextMetrics 是 MFC(Microsoft Foundation Classes)中的一个公共方法,用于获取字体的轮廓文本度量信息。这个方法返回一个 OUTLINETEXTMETRIC 结构,包含了有关字体的详细度量信息,如字符宽度、高度、基线等。以下是使用 GetOutlineTextMetrics 方法的简单示例:CDC dc; // 假设已经创建了设备上下文对象TEXTMETRIC tm;dc.GetTextMetrics(&tm); // 获取当前字体的基本文本度量信息OUTLINETEXTMETRIC otm;dc.GetOutlineTextMetrics(sizeof(OUTLINETEXTMETRIC), &otm); // 获取轮廓文本度量信息// 使用获取到的 otm 结构中的信息进行后续处理在这个示例中,首先调用 GetTextMetrics 方法获取当前字体的基本文本度量信息,然后调用 GetOutlineTextMetrics 方法获取更详细的轮廓文本度量信息。OUTLINETEXTMETRIC 结构的...
MFC CDC 类 公共方法:CDC::GetMapMode
CDC::GetMapMode 是 MFC(Microsoft Foundation Classes)中的一个公共方法,用于获取设备上下文(Device Context,CDC)的映射模式。映射模式描述了设备上下文中坐标的映射关系,即逻辑坐标与设备坐标之间的转换方式。具体来说,CDC::GetMapMode 方法返回一个整数,该整数表示当前设备上下文的映射模式。映射模式可以是以下之一: MM_TEXT: 逻辑单位与设备单位相等。 MM_LOMETRIC: 逻辑单位是 0.1 毫米,设备单位是设备的物理单位。 MM_HIMETRIC: 逻辑单位是 0.01 毫米,设备单位是设备的物理单位。 MM_LOENGLISH: 逻辑单位是 0.01 英寸,设备单位是设备的物理单位。 MM_HIENGLISH: 逻辑单位是 0.001 英寸,设备单位是设备的物理单位。 MM_TWIPS: 逻辑单位是 1/20 个点(1/1440 英寸),设备单位是设备的物理单位。使用 CDC::SetMapMode 方法可以设置设备上下文的映射模式。以下是一个简单的示例代码,演示如何使用 GetMapMode 方法...
MFC CDC 类 公共方法:CDC::GetLayout
在 MFC(Microsoft Foundation Classes)中,CDC::GetLayout 方法用于获取设备上下文的文本布局方向。以下是 GetLayout 方法的签名和简要说明:DWORD GetLayout() const;返回值: 返回一个 DWORD 值,表示设备上下文的文本布局方向。可能的返回值包括 LAYOUT_RTL 和 LAYOUT_LTR。使用示例:CClientDC dc(this); // 假设 this 是一个窗口或控件的指针// 获取文本布局方向DWORD layout = dc.GetLayout();// 处理文本布局方向的值if (layout == LAYOUT_RTL) { // 从右到左布局} else if (layout == LAYOUT_LTR) { // 从左到右布局} else { // 处理其他可能的文本布局方向}这个方法通常在需要了解当前设备上下文的文本布局方向的情况下使用。文本布局方向影响文本的排列方式,例如从左到右(LTR)或从右到左(RTL)。
MFC CDC 类 公共方法:CDC::GetKerningPairs
在 MFC(Microsoft Foundation Classes)中,CDC::GetKerningPairs 方法用于获取与设备上下文相关联的字体的字符间距信息。以下是 GetKerningPairs 方法的签名和简要说明:DWORD GetKerningPairs( DWORD nPairs, LPKERNINGPAIR lpkrnpair) const;参数说明: nPairs:lpkrnpair 缓冲区的大小。 lpkrnpair:指向 KERNINGPAIR 结构数组的指针,用于接收字符间距信息。返回值: 如果函数成功,返回实际的字符间距信息的数量。 如果函数失败,则返回 GDI_ERROR。KERNINGPAIR 结构定义如下:typedef struct tagKERNINGPAIR { WORD wFirst; WORD wSecond; int iKernAmount;} KERNINGPAIR, *LPKERNINGPAIR;使用示例:CClientDC dc(this); // 假设 this 是一个窗口或控件的指针CFont fon...
MFC CDC 类 公共方法:CDC::GetHalftoneBrush
在 MFC(Microsoft Foundation Classes)中,CDC::GetHalftoneBrush 方法用于获取一个用于模拟灰度的半色调画刷。以下是 GetHalftoneBrush 方法的签名和简要说明:CBrush* GetHalftoneBrush() const;返回值: 返回一个指向 CBrush 对象的指针,表示用于模拟灰度的半色调画刷。使用示例:CClientDC dc(this); // 假设 this 是一个窗口或控件的指针// 获取半色调画刷CBrush* pHalftoneBrush = dc.GetHalftoneBrush();if (pHalftoneBrush != NULL) { // 成功获取半色调画刷 // 可以根据需要使用 pHalftoneBrush} else { // 获取失败,处理错误}半色调画刷通常用于模拟灰度效果,例如在黑白打印时。这个方法可以用于获取系统默认的半色调画刷。
MFC CDC 类 公共方法:CDC::GetGraphicsMode
在 MFC(Microsoft Foundation Classes)中,CDC::GetGraphicsMode 方法用于获取设备上下文的图形模式。以下是 GetGraphicsMode 方法的签名和简要说明:int GetGraphicsMode() const;返回值: 返回一个整数,表示当前设备上下文的图形模式。可能的返回值包括 GM_COMPATIBLE 和 GM_ADVANCED。使用示例:CClientDC dc(this); // 假设 this 是一个窗口或控件的指针// 获取图形模式int graphicsMode = dc.GetGraphicsMode();// 处理图形模式的值if (graphicsMode == GM_COMPATIBLE) { // 兼容模式} else if (graphicsMode == GM_ADVANCED) { // 高级模式} else { // 处理其他可能的图形模式}这个方法通常在需要了解当前设备上下文的图形模式的情况下使用。兼容模式(GM_COMPATIBLE)通常用于 GDI 兼容性,而高级模式(G...
MFC CDC 类 公共方法:CDC::GetGlyphOutline
在 MFC(Microsoft Foundation Classes)中,CDC::GetGlyphOutline 方法用于检索与指定的 TrueType 字体中的指定字符关联的轮廓。以下是 GetGlyphOutline 方法的签名和简要说明:DWORD GetGlyphOutline( UINT nChar, UINT nFormat, LPGLYPHMETRICS lpgm, DWORD cbBuffer, LPVOID lpBuffer, const MAT2* lpmat2) const;参数说明: nChar:要检索轮廓的字符的 Unicode 编码。 nFormat:指定输出的格式。可以是 GGO_BITMAP、GGO_GRAY2_BITMAP、GGO_GRAY4_BITMAP、GGO_GRAY8_BITMAP 等。 lpgm:指向 GLYPHMETRICS 结构的指针,用于接收字符的度量信息。 cbBuffer:lpBuffer 缓冲区的大小。 lpBuffer:指向用于接收轮廓数据的缓冲区的指针。 lpmat2:指向 MAT2 结构的指针,用于...
MFC CDC 类 公共方法:CDC::GetFontLanguageInfo
在 MFC(Microsoft Foundation Classes)中,CDC::GetFontLanguageInfo 方法用于获取与设备上下文相关联的当前字体的语言信息。以下是 GetFontLanguageInfo 方法的签名和简要说明:DWORD GetFontLanguageInfo() const;返回值: 返回一个 DWORD 值,表示字体的语言信息。使用示例:CClientDC dc(this); // 假设 this 是一个窗口或控件的指针CFont font;font.CreateFont( -12, // 高度 0, // 宽度 0, // 角度 0, // 方向 FW_NORMAL, // 字体粗细 FALSE, // 斜体 FALSE, ...
MFC CDC 类 公共方法:CDC::GetFontData
在 MFC(Microsoft Foundation Classes)中,CDC::GetFontData 方法用于获取与设备上下文相关联的当前字体的信息。以下是 GetFontData 方法的签名和简要说明:DWORD GetFontData( DWORD dwTable, DWORD dwOffset, LPVOID lpData, DWORD cbData) const;参数说明: dwTable:标识要获取的表(table)的四个字符标识符。 dwOffset:从表的开始处偏移的位置。 lpData:指向用于接收字体数据的缓冲区的指针。 cbData:缓冲区的大小。返回值: 返回实际检索到的字体数据的字节数。如果失败,则返回 GDI_ERROR。使用示例:CClientDC dc(this); // 假设 this 是一个窗口或控件的指针CFont font;font.CreateFont( -12, // 高度 0, // 宽度 0, ...
MFC CDC 类 公共方法:CDC::GetDeviceCaps
在 MFC(Microsoft Foundation Classes)中,CDC::GetDeviceCaps 方法用于获取有关设备的一般信息,例如分辨率、尺寸和其他特性。以下是 GetDeviceCaps 方法的签名和简要说明:int GetDeviceCaps( int nIndex) const;参数说明: nIndex:一个表示所需信息类型的整数。可以是预定义的常量,如 HORZRES(水平分辨率)、VERTRES(垂直分辨率)等。返回值: 返回一个整数,表示所请求信息的值。使用示例:CClientDC dc(this); // 假设 this 是一个窗口或控件的指针// 获取水平分辨率int horzRes = dc.GetDeviceCaps(HORZRES);// 获取垂直分辨率int vertRes = dc.GetDeviceCaps(VERTRES);// 其他信息的获取方式类似,可以查看 MSDN 文档了解更多预定义的常量GetDeviceCaps 方法通常用于根据设备的特性来调整或优化绘图操作。您可以使用不同的参数来检索有关设备的各种信息。例如,您可以获取设...
MFC CDC 类 公共方法:CDC::GetDCPenColor
在 MFC(Microsoft Foundation Classes)中,CDC::GetDCPenColor 方法用于获取设备上下文中的画笔颜色。以下是 GetDCPenColor 方法的签名和简要说明:COLORREF GetDCPenColor() const;返回值: 返回一个 COLORREF 值,表示设备上下文中的画笔颜色。使用示例:CClientDC dc(this); // 假设 this 是一个窗口或控件的指针// 设置画笔颜色dc.SetDCPenColor(RGB(0, 0, 255)); // 设置为蓝色// 获取当前画笔颜色COLORREF penColor = dc.GetDCPenColor();// penColor 现在包含了当前画笔的颜色信息这个方法通常在需要获取当前设备上下文中画笔颜色的情况下使用。画笔颜色是用于描绘图形对象边缘的颜色。
MFC CDC 类 公共方法:CDC::GetDCBrushColor
在 MFC(Microsoft Foundation Classes)中,CDC::GetDCBrushColor 方法用于获取设备上下文中的画刷颜色。以下是 GetDCBrushColor 方法的签名和简要说明:COLORREF GetDCBrushColor() const;返回值: 返回一个 COLORREF 值,表示设备上下文中的画刷颜色。使用示例:CClientDC dc(this); // 假设 this 是一个窗口或控件的指针// 设置画刷颜色dc.SetDCBrushColor(RGB(255, 0, 0)); // 设置为红色// 获取当前画刷颜色COLORREF brushColor = dc.GetDCBrushColor();// brushColor 现在包含了当前画刷的颜色信息这个方法通常在需要获取当前设备上下文中画刷颜色的情况下使用。画刷颜色是用于填充图形对象(如矩形、椭圆等)的颜色。
MFC CDC 类 公共方法:CDC::GetCurrentPosition
在 MFC(Microsoft Foundation Classes)中,CDC::GetCurrentPosition 方法用于获取当前绘图位置。以下是 GetCurrentPosition 方法的签名和简要说明:CPoint GetCurrentPosition() const;返回值: 返回一个 CPoint 对象,表示当前设备上下文中的绘图位置。使用示例:CClientDC dc(this); // 假设 this 是一个窗口或控件的指针// 在设备上下文中设置绘图位置dc.MoveTo(10, 20);// 获取当前绘图位置CPoint currentPos = dc.GetCurrentPosition();// currentPos 现在包含了当前绘图位置的坐标信息这个方法通常在需要获取或记录当前绘图位置的情况下使用。在绘图时,MoveTo 方法用于设置绘图位置,而 GetCurrentPosition 方法则用于获取当前绘图位置。
MFC CDC 类 公共方法:CDC::GetCurrentPen
在 MFC(Microsoft Foundation Classes)中,CDC::GetCurrentPen 方法用于获取与设备上下文相关联的当前画笔(pen)的指针。以下是 GetCurrentPen 方法的签名和简要说明:CPen* GetCurrentPen() const;返回值: 如果函数成功,返回一个指向 CPen 对象的指针,该对象表示当前与设备上下文相关联的画笔。 如果函数失败,则返回 NULL。使用示例:CClientDC dc(this); // 假设 this 是一个窗口或控件的指针CPen* pPen = dc.GetCurrentPen();if (pPen != NULL) { // 成功获取当前画笔 // 可以根据需要使用 pPen} else { // 获取失败,处理错误}这个方法通常在需要了解当前绘图设备上下文使用的画笔信息的情况下使用。通过获取当前画笔,您可以进行画笔相关的操作或查询画笔的属性。
MFC CDC 类 公共方法:CDC::GetCurrentPalette
在 MFC(Microsoft Foundation Classes)中,CDC::GetCurrentPalette 方法用于获取与设备上下文相关联的当前调色板(palette)的指针。以下是 GetCurrentPalette 方法的签名和简要说明:CPalette* GetCurrentPalette() const;返回值: 如果函数成功,返回一个指向 CPalette 对象的指针,该对象表示当前与设备上下文相关联的调色板。 如果函数失败,则返回 NULL。使用示例:CClientDC dc(this); // 假设 this 是一个窗口或控件的指针CPalette* pPalette = dc.GetCurrentPalette();if (pPalette != NULL) { // 成功获取当前调色板 // 可以根据需要使用 pPalette} else { // 获取失败,处理错误}这个方法通常在需要了解当前绘图设备上下文使用的调色板信息的情况下使用。通过获取当前调色板,您可以进行调色板相关的操作或查询调色板的属性。