常用MFC和API函数(3)
时间:2026-01-16
时间:2026-01-16
pParentWnd 指向拥有对话框的父窗口
CColorDialog::GetColor 获取用户选择的颜色
COLORREF GetColor()const;
返回值:选中颜色的RGB值
CDC类:定义设备环境对象类
CDC::BitBlt 从源设备环境拷贝一个位图到当前
设备环境中
BOOL BitBlt(int x,int y,int nWidth,int
nHeight,CDC* pSrcDC,int xSrc,int ySrc,DWORD
dwRop);
参数:x,y为目的矩形的左上角坐标;nWidth,
nHeight为目的矩形的宽度和高度;pSrcDC是指向
源设备环境的指针;xSrc,ySrc源位图左上角的
坐标;dwRop为光栅操作码。
CDC::CreateCompatibleDC 创建一个与pDC指定
的设备相兼容的内存设备环境
virtual BOOL CreateCompatibleDC(CDC* pDC);
参数:pDC 设备环境指针
返回值:若成功,返回非0;否则返回0
CDC::Detach 将设备环境从CDC对象中分离开来
HDC Detach()
返回值:分离的设备环境
CDC::DrawEdge 绘制矩形边框或边框的一部分
BOOL DrawEdge(LPRECT lpRect,UINT nEdge,UINT
nFlags);
参数lpRect指向矩形的RECT结构的指针;nEdge
指定矩形内外边界的风格,必须是一个内边界标志
和外边界标志的组合,取值为:
BDR_RAISEDINNER:内边界凸出;
BDR_SUNKENINNER:内边界凹下;
BDR_RAISEDOUTER:外边界凸出;
BDR_SUNKENOUTER:外边界凹下;
nFlags指定边界的类型,取值为:
BF_RECT:矩形的所有四边;
BF_LEFT:矩形的左边;
BF_BOTTOM:矩形的底边;
BF_RIGHT:矩形的右边;
BF_TOP:矩形的上边;
BF_TOPLEFT:矩形的上边和左边;
BF_TOPRIGHT:矩形的上边和右边;
BF_BOTTOMLEFT:矩形的下边和左边;
BF_BOTTOMRIGHT:矩形的下边和右边。
返回值:若成功,返回非0;否则返回0。
CDC::DrawFocusRect 画一个说明输入焦点的矩形 void DrawFocusRect(LPCRECT lpRect); 参数:lpRect 指向绘制矩形的逻辑坐标的RECT结构或CRect对象。 CDC::DrawText 在指定的矩形内绘制格式化的文本 virtual int DrawText(LPCTSTR lpszString,int nCount,LPRECT lpRect,UINT nFormat); int DrawText(const CString& str,LPRECT lpRect,UINT nFormat); 参数:lpszString指示要输出的字符串;nCount为字符串中字节数;lpRect指示文本所在的矩形;str为要输出的CString对象;nFormat为格式化文本的方式,常用取值: DT_BOTTOM 文本底对齐,必须和DT_SINGLELINE联用; DT_CENTER 居中显示文本; DT_LEFT 文本左对齐; DT_RIGHT 文本右对齐; DT_TOP 正文与行顶部对齐(仅指单个行); DT_NOCLIB 绘制时不加裁减;DT_SINGLELINE 单行显示; DT_VCENTER 指定在垂直方向上居中显示文本(仅只单个行); DT_WORDBREAK 若单词超过矩形边界,行将在单词间断开 返回值:若调用成功,返回文本的高度 CDC::FillSolidRect 用指定单颜色填充矩形 void FillSolidRect(LPCRECT lpRect,COLORREF clr); void FillSolidRect(int x,int y,int cx,int cy,COLORREF clr); 参数:lpRect指定要填充的矩形;clr填充的颜色 x,y矩形的左上角坐标,cx、cy为矩形宽度和高度 CDC::FromHandle 在给予一个设备环境句柄时返回一个CDC对象指针 static CDC* PASCAL FromHandle(HDC hDC); 参数:hDC 设备环境句柄 返回值:CDC对象指针 CDC::GetTextExtent 使用当前字体计算一行文本的宽度和高度 CSize GetTextExtent(LPCTSTR lpszString,int nCount)const;