MFC CDC 类 公共方法:CDC::GetViewportOrg
CDC::GetViewportOrg 是 MFC(Microsoft Foundation Classes)中的一个公共方法,用于获取当前设备上下文(Device Context,简称 DC)的视口原点的坐标。CPoint GetViewportOrg() const;这个方法返回一个 CPoint 对象,其中包含了当前设备上下文的视口原点的坐标。使用示例:CDC dc; // 假设已经创建了一个 CDC 对象CPoint viewportOrg = dc.GetViewportOrg();int nViewportX = viewportOrg.x;int nViewportY = viewportOrg.y;在这个示例中,viewportOrg 包含了当前设备上下文的视口原点的坐标。你可以使用 x 和 y 成员分别获取水平和垂直方向上的坐标。
MFC CDC 类 公共方法:CDC::GetViewportExt
CDC::GetViewportExt 是 MFC(Microsoft Foundation Classes)中的一个公共方法,用于获取当前设备上下文(Device Context,简称 DC)的视口的水平和垂直的像素尺寸。CSize GetViewportExt() const;这个方法返回一个 CSize 对象,其中包含了当前设备上下文的视口的水平和垂直的像素尺寸。使用示例:CDC dc; // 假设已经创建了一个 CDC 对象CSize viewportExt = dc.GetViewportExt();int nViewportWidth = viewportExt.cx;int nViewportHeight = viewportExt.cy;在这个示例中,viewportExt 包含了当前设备上下文的视口的像素尺寸。你可以使用 cx 和 cy 成员分别获取水平和垂直的像素尺寸。
MFC CDC 类 公共方法:CDC::GetTextMetrics
CDC::GetTextMetrics 是 MFC(Microsoft Foundation Classes)中的一个公共方法,用于获取当前设备上下文(Device Context,简称 DC)的字体信息。BOOL GetTextMetrics(LPTEXTMETRIC lptm) const;这个方法返回一个布尔值,指示是否成功获取字体信息。如果成功,lptm 将包含字体的度量信息,如字符高度、平均字符宽度等。参数说明: lptm: 一个指向 TEXTMETRIC 结构的指针,用于接收字体的度量信息。TEXTMETRIC 结构包含了有关字体的详细信息,例如:typedef struct tagTEXTMETRIC { LONG tmHeight; LONG tmAscent; LONG tmDescent; LONG tmInternalLeading; LONG tmExternalLeading; LONG tmAveCharWidth; LONG tmMaxCharWidth; LONG tmWeight; LONG tmO...
MFC CDC 类 公共方法:CDC::GetTextFace
CDC::GetTextFace 是 MFC(Microsoft Foundation Classes)中的一个公共方法,用于获取当前设备上下文(Device Context,简称 DC)中选定的字体的名称。int GetTextFace(int nCount, LPTSTR lpszFacename) const;这个方法返回一个整数,表示实际复制到缓冲区的字体名称的字符数。如果缓冲区大小小于字体名称的长度,返回的值将是字体名称的长度,而不是整个名称。参数说明: nCount: 缓冲区 lpszFacename 的大小,以字符数为单位。 lpszFacename: 用于接收字体名称的缓冲区。使用示例:CDC dc; // 假设已经创建了一个 CDC 对象TCHAR szFaceName[LF_FACESIZE]; // 用于存储字体名称的缓冲区int nResult = dc.GetTextFace(LF_FACESIZE, szFaceName);if (nResult > 0) { // 在这里,szFaceName 包含当前设备上下文中选定的字体的名称} else ...
MFC CDC 类 公共方法:CDC::GetTextExtentPointI
CDC::GetTextExtentPointI 是 MFC(Microsoft Foundation Classes)中的一个公共方法,用于获取以逻辑单位(logical units)为单位测量的指定字符串的宽度信息。CSize GetTextExtentPointI(LPCTSTR lpszString, int nCount = -1) const;这个方法返回一个 CSize 对象,其中包含了字符串在绘制时所需的宽度和高度。参数说明: lpszString: 要测量的文本字符串。 nCount: 要测量的字符串的字符数,如果为 -1,则测量整个字符串。使用示例:CDC dc; // 假设已经创建了一个 CDC 对象CString strText = _T("Hello, MFC!");CSize textSize = dc.GetTextExtentPointI(strText);在这个示例中,textSize.cx 包含了字符串在绘制时所占用的宽度,textSize.cy 包含了字符串的高度。你可以使用这些值来确定文本绘制的位置或调整绘图区域的大小。
MFC CDC 类 公共方法:CDC::GetTextExtentExPointI
CDC::GetTextExtentExPointI 是 MFC(Microsoft Foundation Classes)中的一个公共方法,用于获取以逻辑单位(logical units)为单位测量的指定字符数组的宽度信息。BOOL GetTextExtentExPointI(const UINT *lpnCharWidths, int nCount, int& nFit, int& nDx, LPSIZE lpSize) const;这个方法返回一个布尔值,指示是否成功获取文本的信息。如果成功,nFit 将包含适合的字符数,nDx 将包含每个字符的宽度,lpSize 将包含文本的宽度和高度。参数说明: lpnCharWidths: 一个指向包含每个字符的宽度(逻辑单位)的数组。 nCount: 字符数组的元素数。 nFit: 输出参数,用于返回适合的字符数。 nDx: 输出参数,用于返回每个字符的宽度。 lpSize: 输出参数,用于返回文本的宽度和高度。使用示例:CDC dc; // 假设已经创建了一个 CDC 对象UINT charWidths[] = {10,...
MFC CDC 类 公共方法:CDC::GetTextExtent
CDC::GetTextExtent 是 MFC(Microsoft Foundation Classes)中的一个公共方法,用于获取指定字符串在设备上下文(Device Context,简称 DC)中绘制时所占用的宽度和高度。CSize GetTextExtent(LPCTSTR lpszString, int nCount = -1) const;这个方法返回一个 CSize 对象,其中包含了字符串在绘制时所需的宽度和高度。参数说明: lpszString: 要测量的文本字符串。 nCount: 要测量的字符串的字符数,如果为 -1,则测量整个字符串。使用示例:CDC dc; // 假设已经创建了一个 CDC 对象CString strText = _T("Hello, MFC!");CSize textSize = dc.GetTextExtent(strText);在这个示例中,textSize.cx 包含了字符串在绘制时所占用的宽度,textSize.cy 包含了字符串的高度。你可以使用这些值来确定文本绘制的位置或调整绘图区域的大小。
MFC CDC 类 公共方法:CDC::GetTextColor
CDC::GetTextColor 是 MFC(Microsoft Foundation Classes)中的一个公共方法,用于获取当前设备上下文(Device Context,简称 DC)的文本颜色。COLORREF GetTextColor() const;这个方法返回一个 COLORREF 值,表示当前设备上下文的文本颜色。COLORREF 是一个 RGB 颜色值,其中包括红色、绿色和蓝色分量。使用示例:CDC dc; // 假设已经创建了一个 CDC 对象COLORREF textColor = dc.GetTextColor();在这个示例中,textColor 包含了当前设备上下文的文本颜色。你可以使用 GetRValue、GetGValue 和 GetBValue 宏从 COLORREF 中提取红色、绿色和蓝色分量。BYTE red = GetRValue(textColor);BYTE green = GetGValue(textColor);BYTE blue = GetBValue(textColor);这样,你就可以得到文本颜色的 RGB 分量。
MFC CDC 类 公共方法:CDC::GetTextCharacterExtra
CDC::GetTextCharacterExtra 是 MFC(Microsoft Foundation Classes)中的一个公共方法,用于获取当前设备上下文(Device Context,简称 DC)中字符间的额外间距。int GetTextCharacterExtra() const;这个方法返回一个整数,表示当前设备上下文的字符间的额外间距。字符间的额外间距是在每个字符之间额外添加的像素数,可以用于调整文本的间距。使用示例:CDC dc; // 假设已经创建了一个 CDC 对象int nCharExtra = dc.GetTextCharacterExtra();在这个示例中,nCharExtra 包含了当前设备上下文的字符间的额外间距。如果返回值为正数,表示字符之间增加了额外的像素间距;如果为负数,表示字符之间缩小了额外的像素间距。
MFC CDC 类 公共方法:CDC::GetTextAlign
CDC::GetTextAlign 是 MFC(Microsoft Foundation Classes)中的一个公共方法,用于获取当前设备上下文(Device Context,简称 DC)的文本对齐方式。UINT GetTextAlign() const;这个方法返回一个无符号整数,表示当前设备上下文的文本对齐方式。文本对齐方式决定了文本在绘图时与指定点的对齐方式,包括水平和垂直方向。返回值是一个位标志的组合,可能包含以下标志: TA_BASELINE: 文本基线与指定点的垂直对齐。 TA_BOTTOM: 文本底部与指定点的垂直对齐。 TA_TOP: 文本顶部与指定点的垂直对齐。 TA_CENTER: 文本水平居中与指定点。 TA_LEFT: 文本左对齐于指定点。 TA_RIGHT: 文本右对齐于指定点。使用示例:CDC dc; // 假设已经创建了一个 CDC 对象UINT align = dc.GetTextAlign();在这个示例中,align 包含了当前设备上下文的文本对齐方式。你可以通过与上述标志进行位与操作来判断文本的水平和垂直对齐方式。
MFC CDC 类 公共方法:CDC::GetTabbedTextExtent
CDC::GetTabbedTextExtent 是 MFC(Microsoft Foundation Classes)中的一个公共方法,用于获取文本在设备上下文(Device Context,简称 DC)中使用指定制表符位宽度的绘图区域的尺寸。CSize GetTabbedTextExtent(LPCTSTR lpszString, int nCount = -1, int nTabPositions = 0, LPINT lpnTabStopPositions = NULL) const;这个方法返回一个 CSize 对象,其中包含了文本绘制时所需的宽度和高度。参数说明: lpszString: 要测量的文本字符串。 nCount: 要测量的字符串的字符数,如果为 -1,则测量整个字符串。 nTabPositions: 指定制表符的位宽度。 lpnTabStopPositions: 一个指向包含制表符停止位置的整数数组的指针。使用示例:CDC dc; // 假设已经创建了一个 CDC 对象CString strText = _T("Tab\tSeparated\tText...
MFC CDC 类 公共方法:CDC::GetStretchBltMode
CDC::GetStretchBltMode 是 MFC(Microsoft Foundation Classes)中的一个公共方法,用于获取当前设备上下文(Device Context,简称DC)的拉伸位块传输模式(StretchBlt Mode)。int GetStretchBltMode() const;这个方法返回一个整数,代表了当前 DC 的拉伸位块传输模式。拉伸位块传输通常用于在绘制时调整图像的大小,这个模式描述了拉伸位块传输时的算法。以下是一些可能的返回值: BLACKONWHITE: 黑色透明,即源图像中的黑色像素将变为透明,白色像素将变为目标背景色。 COLORONCOLOR: 颜色透明,即源图像中的每个颜色将按照原样传输,忽略透明度。 DELETESCANS: 删除扫描线,适用于对白色的位块传输。 HALFTONE: 使用半色调算法进行拉伸位块传输。 等等...示例:CDC dc; // 假设已经创建了一个 CDC 对象int nStretchMode = dc.GetStretchBltMode();这样,nStretchMode 就包含了当前设备上下文的拉伸位块...
MFC CDC 类 公共方法:CDC::GetSafeHdc
CDC::GetSafeHdc 是 MFC(Microsoft Foundation Classes)中的一个公共方法,用于获取与 CDC(Device Context) 对象相关联的设备上下文的句柄(handle)。HDC GetSafeHdc() const;这个方法返回一个设备上下文的句柄(HDC),这个句柄可以用于调用 Windows GDI(图形设备接口)函数。GetSafeHdc 方法是“安全”的,因为它会检查设备上下文是否有效,如果设备上下文无效,它会返回 NULL。使用示例:CDC dc; // 假设已经创建了一个 CDC 对象HDC hDC = dc.GetSafeHdc();if (hDC != NULL) { // 在此处可以使用 hDC 调用 GDI 函数进行图形绘制等操作} else { // 处理设备上下文无效的情况}通过 GetSafeHdc,你可以获得设备上下文的句柄,然后在需要使用 GDI 函数的地方使用该句柄进行图形操作。
MFC CDC 类 公共方法:CDC::GetROP2
CDC::GetROP2 是 MFC(Microsoft Foundation Classes)中的一个公共方法,用于获取当前设备上下文(Device Context,简称DC)的二进制光栅运算模式(Raster Operation Mode)。int GetROP2() const;这个方法返回一个整数,代表了当前DC的二进制光栅运算模式。二进制光栅运算模式是用来描述如何组合源和目标位图的方式,常用于图形绘制和图像处理操作。返回值是一个整数,表示当前的运算模式。以下是一些可能的返回值: R2_BLACK: 将目标颜色设置为黑色。 R2_WHITE: 将目标颜色设置为白色。 R2_COPYPEN: 用当前画笔的颜色复制源颜色到目标。 R2_MASKPEN: 不绘制源颜色,只绘制目标颜色中与画笔颜色相同的部分。 R2_NOT: 取反操作。 等等...示例:CDC dc; // 假设已经创建了一个 CDC 对象int nROP2 = dc.GetROP2();这样,nROP2 就包含了当前设备上下文的二进制光栅运算模式。
MFC CDC 类 公共方法:CDC::GetPolyFillMode
CDC::GetPolyFillMode 是 MFC(Microsoft Foundation Classes)中 CDC(Device Context)类的一个公共方法。这个方法用于获取多边形填充模式。以下是一个简单的示例代码,演示如何使用 GetPolyFillMode 方法:// 假设 pDC 是你的 CDC 对象int polyFillMode = pDC->GetPolyFillMode();// 使用获取的多边形填充模式进行其他操作在这个例子中,polyFillMode 将保存当前设备上下文的多边形填充模式。多边形填充模式可以是 ALTERNATE 或 WINDING,分别表示交替填充和环绕填充两种方式。你可以使用返回的 polyFillMode 值进行条件判断或其他操作,以适应不同的绘图需求。
MFC CDC 类 公共方法:CDC::GetPixel
CDC::GetPixel 是 MFC(Microsoft Foundation Classes)中 CDC(Device Context)类的一个公共方法。这个方法用于获取指定坐标处像素的颜色。以下是一个简单的示例代码,演示如何使用 GetPixel 方法:// 假设 pDC 是你的 CDC 对象CPoint point(100, 100); // 指定坐标COLORREF pixelColor = pDC->GetPixel(point);// 使用获取的像素颜色进行其他操作在这个例子中,point 是一个 CPoint 对象,表示你想要获取颜色的坐标。通过调用 GetPixel 方法,可以获取指定坐标处像素的颜色,结果保存在 COLORREF 中。请注意,GetPixel 方法返回的颜色值是 RGB 格式的。你可以使用 GetRValue、GetGValue 和 GetBValue 宏来提取颜色的红、绿和蓝分量。BYTE red = GetRValue(pixelColor);BYTE green = GetGValue(pixelColor);BYTE blue = G...
MFC CDC 类 公共方法:CDC::GetOutputTextMetrics
CDC::GetOutputTextMetrics 是 MFC(Microsoft Foundation Classes)中 CDC(Device Context)类的一个公共方法。这个方法用于获取输出设备上文本的度量信息。以下是一个简单的示例代码,演示如何使用 GetOutputTextMetrics 方法:// 假设 pDC 是你的 CDC 对象TEXTMETRIC tm;pDC->GetOutputTextMetrics(&tm);// 使用获取的文本度量信息进行其他操作int ascent = tm.tmAscent; // 获取字符的上升部分高度int descent = tm.tmDescent; // 获取字符的下降部分高度int height = tm.tmHeight; // 获取字符的总高度在这个例子中,TEXTMETRIC 结构用于保存输出文本的度量信息。通过调用 GetOutputTextMetrics 方法,可以获取当前设备上下文中输出文本的度量信息。这个方法返回的度量信息包括字符的上升部分高度、下降部分高度以及字符的总高度等。这对于进行...
MFC CDC 类 公共方法:CDC::GetOutputTextExtent
CDC::GetOutputTextExtent 是 MFC(Microsoft Foundation Classes)中 CDC(Device Context)类的一个公共方法。这个方法用于获取指定文本在设备上下文中的输出宽度和高度。以下是一个简单的示例代码,演示如何使用 GetOutputTextExtent 方法:// 假设 pDC 是你的 CDC 对象CString text = _T("Hello, World!");SIZE size;size = pDC->GetOutputTextExtent(text);// 使用获取的文本宽度和高度信息进行其他操作int width = size.cx; // 获取宽度int height = size.cy; // 获取高度在这个例子中,text 是你想要获取宽度和高度的文本字符串。通过调用 GetOutputTextExtent 方法,可以获取这个文本在当前设备上下文中的输出宽度和高度,结果保存在 SIZE 结构中。这个方法对于需要知道文本占用空间的情况非常有用,例如在进行自定义布局或绘制文本时。
MFC CDC 类 公共方法:CDC::GetOutputTabbedTextExtent
在 MFC 中,CDC::GetOutputTabbedTextExtent 是一个用于获取带有制表符文本的输出宽度的方法。以下是一个简单的示例代码:// 假设 pDC 是你的 CDC 对象CString text = _T("Hello\tWorld");int nTabStops = 4; // 假设有4个制表符位置LPINT lpnTabStopPositions = new INT[nTabStops];for (int i = 0; i < nTabStops; ++i) { lpnTabStopPositions[i] = (i + 1) * 100; // 设置每个制表符位置}SIZE size;pDC->GetOutputTabbedTextExtent(text, nTabStops, lpnTabStopPositions, &size);// 使用获取的文本宽度信息进行其他操作delete[] lpnTabStopPositions; // 记得释放内存在这个例子中,text 是包含制表符的文本字符串,nTabS...
MFC CDC 类 公共方法:CDC::GetOutputCharWidth
CDC::GetOutputCharWidth 是 MFC(Microsoft Foundation Classes)中 CDC(Device Context)类的一个公共方法。这个方法用于获取输出设备上指定字符宽度的信息。以下是一个简单的示例代码,演示如何使用 GetOutputCharWidth 方法:// 假设 pDC 是你的 CDC 对象int firstChar = 'A'; // 起始字符int lastChar = 'Z'; // 结束字符int nWidths = lastChar - firstChar + 1;int* lpBuffer = new int[nWidths];BOOL result = pDC->GetOutputCharWidth(firstChar, lastChar, lpBuffer);if (result != 0) { // 使用获取的字符宽度信息进行其他操作}delete[] lpBuffer; // 记得释放内存在这个例子中,firstChar 和 lastChar 分别表示所需字符...