MFC和API函数解读.docx

上传人:b****6 文档编号:4336349 上传时间:2022-11-29 格式:DOCX 页数:28 大小:34.82KB
下载 相关 举报
MFC和API函数解读.docx_第1页
第1页 / 共28页
MFC和API函数解读.docx_第2页
第2页 / 共28页
MFC和API函数解读.docx_第3页
第3页 / 共28页
MFC和API函数解读.docx_第4页
第4页 / 共28页
MFC和API函数解读.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

MFC和API函数解读.docx

《MFC和API函数解读.docx》由会员分享,可在线阅读,更多相关《MFC和API函数解读.docx(28页珍藏版)》请在冰豆网上搜索。

MFC和API函数解读.docx

MFC和API函数解读

CArchive类:

用于二进制保存档案

CArchive:

:

CArchive建立一个CArchive对象

CArchive(CFile*pFile,UINTnMode,intnBufSize=4096,void*lpBuf=NULL;

参数:

pFile指向CFile对象的指针,这个CFile对象是数据的最终源或目的;

nMode是标志,取值为CArchive:

:

load时,从文档中加载数据(要求CFile读许可,取值为CArchive:

:

store时,将数据存入文档(要求CFile写许可;

nBufSize指定内部文件缓冲区的大小(按字节计;

lpBuf指向大小为nBufSize的缓冲区,若未指定,则从局部堆中分配一缓冲区,并在该对象被删除时释放该缓冲区,但不释放用户提供的缓冲区。

CArchive:

:

Close关闭档案,清除缓冲区中剩余数据,断开文件与档案的连接

voidClose(;

操作符:

<<存储指定的对象到档案(写,一行可以使用多个析取操作符

>>从档案中加载指定的对象(读,一行可以有多个插入操作符

CBitmap类:

封装Windows的图形设备接口(GDI位图

CBitmap:

:

LoadBitmap加载位图资源

BOOLLoadBitmap(UINTnIDResource;

BOOLLoadBitmap(LPCTSTRlpszResourceName;

参数:

nIDResource位图资源ID号;lpszResourceName位图资源名

返回值:

若成功,返回非0;否则返回0

CBrush类:

封装图形设备接口(GDI中的画刷

CBrush:

:

CreateSolidBrush用指定颜色初始化一个单色画刷

BOOLCreateSolidBrush(COLORREFcrColor;

参数:

crColor画刷颜色

返回值:

若成功,返回非0;否则返回0

CButton类:

提供Windows按钮控件的功能

CButton:

:

Create创建一个CButton对象

BOOLCreate(LPCTSTRlpszCaption,DWORDdwStyle,constRECT&rect,CWnd*pParentWnd,UINTnID;

lpszCaption是按钮上显示的文本;

dwStyle指定按钮风格,可以是按钮风格与窗口风格的组合,取值有:

窗口风格:

WS_CHILD子窗口,必须有

WS_VISIBLE窗口可见,一般都有

WS_DISABLED禁用窗口,创建初始状态为灰色不可用的按钮时使用

WS_TABSTOP可用Tab键选择

WS_GROUP成组,用于成组的单选按钮中的第一个按钮

按钮风格:

BS_PUSHBUTTON下压式按钮,也即普通按钮

BS_AUTORADIOBUTTON含自动选中状态的单选按钮

BS_RADIOBUTTON单选按钮,不常用

BS_AUTOCHECKBOX含自动选中状态的复选按钮

BS_CHECKBOX复选按钮,不常用

BS_AUTO3STATE含自动选中状态的三态复选按钮

BS_3STATE三态复选按钮,不常用

以上风格指定了创建的按钮类型,不能同时使用,但必须有其一。

BS_BITMAP按钮上将显示位图

BS_DEFPUSHBUTTON设置为默认按钮,只用于下压式按钮,一个对话框中只能指定一个默认按钮rect指定按钮的大小和位置;

pParentWnd指示拥有按钮的父窗口,不能为NULL;

nID指定与按钮关联的ID号,用上一步创建的ID号。

返回值:

若成功,返回非0;否则返回0

CButton:

:

DrawItem重载该函数绘制一个CButton对象,由框架调用该函数

virtualvoidDrawItem(LPDRAWITEMSTRUCTlpDrawItemStruct;

参数:

lpDrawItemStruct指向包含绘制项信息和要求类型的LPDRAWITEMSTRUCT结构的长指针CButton:

:

SetCheck设置或复位单选按钮和复选按钮的选择状态

voidSetCheck(intnCheck;

参数:

nCheck指定设置的状态,0为未选择,1为选中,2为不确定

CByteArray类:

该类支持动态的字节数组

CByteArray:

:

GetAt获取指定下标处的数值,可以用运算符[]代替

BYTEGetAt(intnIndexconst;

参数:

nIndex数组下标,必须为有效值

返回值:

指定下标处的数组元素

CByteArray:

:

GetData访问数组元素

BYTE*GetData(;

返回值:

指向数组元素的指针

CByteArray:

:

GetSize获取数组中元素个数

intGetSize(const;

返回值:

数组的大小,比最大下标大1

CByteArray:

:

RemoveAll删除数组中所有元素

voidRemoveAll(;

CByteArray:

:

SetAt设置指定下标处的数值,不扩充数组

voidSetAt(intnIndex,BYTEnewElement;

参数:

nIndex数组下标,必须为有效值;newElement存入数组的新元素值

CByteArray:

:

SetAtGrow设置指定下标处的数值,需要时可自动扩充数组

voidSetAtGrow(intnIndex,BYTEnewElement;

参数:

nIndex数组下标,大于等于0;newElement存入数组的新元素值

CByteArray:

:

SetSize设置数组的大小,并基于需要分配内存;若新值小于原数组,则截断旧数组,释放所有未用内存。

voidSetSize(intnNewSize,intnGrowBy=-1;

参数:

nNewSize新数组的大小,必须大于等于0;nGrowBy扩大数组时至少要分配的元素数

CCmdUI类:

该类仅用于ON_UPDATE_COMMAND_UI处理函数中

CCmdUI:

:

Enable使命令的用户界面元素有效或无效

virtualvoidEnable(BOOLbOn=TRUE;

参数:

bOn使用户界面元素有效时为TRUE,无效时为FALSE

CCmdUI:

:

SetCheck设置命令的用户界面元素为恰当的选择状态

virtualvoidSetCheck(intnCheck=1;

参数:

nCheck为0,设置为不选择,为1,设置为选择,为2,设置为不确定

CColorDialog类:

封装标准颜色对话框

CColorDialog:

:

CColorDialog构造一个CColorDialog对象

CColorDialog(COLORREFclrInit=0,DWORDdwFlags=0,CWnd*pParentWnd=NULL;

参数:

clrInit为缺省颜色选项,若未指定值,则为黑色;

dwFlags是标志,定制对话框的功能和外观,为0时只显示基本颜色,为CC_FULLOPEN时,显示完整颜色对话框;

pParentWnd指向拥有对话框的父窗口

CColorDialog:

:

GetColor获取用户选择的颜色

COLORREFGetColor(const;

返回值:

选中颜色的RGB值

CDC类:

定义设备环境对象类

CDC:

:

BitBlt从源设备环境拷贝一个位图到当前设备环境中

BOOLBitBlt(intx,inty,intnWidth,intnHeight,CDC*pSrcDC,intxSrc,intySrc,DWORDdwRop;参数:

x,y为目的矩形的左上角坐标;nWidth,nHeight为目的矩形的宽度和高度;pSrcDC是指向源设备环境的指针;xSrc,ySrc源位图左上角的坐标;dwRop为光栅操作码。

CDC:

:

CreateCompatibleDC创建一个与pDC指定的设备相兼容的内存设备环境

virtualBOOLCreateCompatibleDC(CDC*pDC;

参数:

pDC设备环境指针

返回值:

若成功,返回非0;否则返回0

CDC:

:

Detach将设备环境从CDC对象中分离开来

HDCDetach(

返回值:

分离的设备环境

CDC:

:

DrawEdge绘制矩形边框或边框的一部分

BOOLDrawEdge(LPRECTlpRect,UINTnEdge,UINTnFlags;

参数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画一个说明输入焦点的矩形

voidDrawFocusRect(LPCRECTlpRect;

参数:

lpRect指向绘制矩形的逻辑坐标的RECT结构或CRect对象。

CDC:

:

DrawText在指定的矩形内绘制格式化的文本

virtualintDrawText(LPCTSTRlpszString,intnCount,LPRECTlpRect,UINTnFormat;

intDrawText(constCString&str,LPRECTlpRect,UINTnFormat;

参数:

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用指定单颜色填充矩形

voidFillSolidRect(LPCRECTlpRect,COLORREFclr;

voidFillSolidRect(intx,inty,intcx,intcy,COLORREFclr;

参数:

lpRect指定要填充的矩形;clr填充的颜色

x,y矩形的左上角坐标,cx、cy为矩形宽度和高度

CDC:

:

FromHandle在给予一个设备环境句柄时返回一个CDC对象指针

staticCDC*PASCALFromHandle(HDChDC;

参数:

hDC设备环境句柄

返回值:

CDC对象指针

CDC:

:

GetTextExtent使用当前字体计算一行文本的宽度和高度

CSizeGetTextExtent(LPCTSTRlpszString,intnCountconst;

CSizeGetTextExtent(constCString&strconst;

参数:

lpszString指向一个字符串,nCount字符串中字符数

str一个字符串对象

返回值:

字符串文本的宽度和高度(以逻辑单位表示

CDC:

:

GetTextMetrics检取当前字体的规格

BOOLGetTextMetrics(LPTEXTMETRIClpMetricsconst;

参数:

lpMetrics指向用于接收字体规格的TEXTMETRIC结构

返回值:

若成功,返回非0;否则返回0

CDC:

:

LineTo从当前位置到指定点画直线

BOOLLineTo(intx,inty;

BOOLLineTo(POINTpoint;

参数:

x、y为直线末端的坐标;point为直线末端的坐标

返回值:

若成功,返回非0;否则返回0

该函数通常与MoveTo(函数合起来完成画线工作。

CDC:

:

MoveTo设置画图的起点位置

CPointMoveTo(intx,inty;

CPointMoveTo(POINTpoint;

参数:

x、y为新位置的坐标;point为新位置坐标

返回值:

先前位置的坐标

CDC:

:

PaintRgn用当前画刷填充一个CRgn对象的区域

BOOLPaintRgn(CRgn*pRgn;

参数:

指向一个CRgn对象的指针

返回值:

若成功,返回非0;否则返回0

CDC:

:

Rectangle用当前画笔画一个矩形,并用当前画刷填充为实心矩形

BOOLRectangle(intx1,inty1,intx2,inty2;

BOOLRectangle(LPCRECTlpRect;

参数:

x1、y1为矩形左上角坐标,x2、y2为矩形右下角坐标

lpRect为RECT结构或CRect对象

返回值:

若成功,返回非0;否则返回0

CDC:

:

RestoreDC将设备环境恢复成先前的状态

virtualBOOLRestoreDC(intnSaveDC;

参数:

nSaveDC设备环境先前状态的整数标识

返回值:

若成功,返回非0;否则返回0

CDC:

:

RoundRect用当前画笔画一个圆角矩形,并用当前画刷填充

BOOLRoundRect(intx1,inty1,intx2,inty2,intx3,inty3;

BOOLRoundRect(LPCRECTlpRect,POINTpoint;

参数:

x1、y1为左上角坐标,x2、y2为右下角坐标,x3、y3为画圆角的椭圆的逻辑宽度和高度lpRect为RECT结构或CRect对象,point中的x、y为画圆角的椭圆的逻辑宽度和高度

返回值:

若成功,返回非0;否则返回0

CDC:

:

SaveDC保存设备环境的当前状态

virtualintSaveDC(;

返回值:

若成功,返回标识保存设备环境的整数;若错误返回0

CDC:

:

SelectObject将一个对象选入设备环境,替代同一类型的先前对象

CPen*SelectObject(CPen*pPen;

CBrush*SelectObject(CBrush*pBrush;

virtualCFont*SelectObject(CFont*pFont;

CBitmap*SelectObject(CBitmap*pBitmap;

intSelectObject(CRgn*pRgn;

参数:

要选入的新对象的指针

返回值:

先前的旧对象的指针

CDC:

:

SelectStockObject将一个预定义的库存对象装入设备环境

virtualCGdiObject*SelectStockObject(intnIndex;

参数:

nIndex库存对象的索引值,常用取值:

BLACK_BRUSH黑色画刷;DKGRAY_BRUSH深灰色画刷;

GRAY_BRUSH灰色画刷;LTGRAY_BRUSH浅灰色画刷;

WHITE_BRUSH白色画刷;HOLLOW_BRUSH中空画刷;

NULL_BRUSH空画刷;

BLACK_PEN黑色画笔;WHITE_PEN白色画笔;

NULL_PEN空画笔;

SYSTEM_FONT系统字体;

返回值:

被替换的CGdiObject对象的指针,若调用失败,返回NULL

CDC:

:

SetBkColor设置当前背景色

virtualCOLORREFSetBkColor(COLORREFcrColor;

参数:

crColor为新背景色

返回值:

先前背景色;若错误,返回值为0x80000000

CDC:

:

SetBkMode设置背景模式

intSetBkMode(intnBkMode;

参数:

nBkMode为要设置的背景模式,取值可以为:

OPAQUE在绘制文本前用当前背景色填充背景,这是缺省的背景模式

TRANSPARENT绘制前不改变背景(即文字背景透明

返回值:

先前的背景模式

CDC:

:

SetTextColor设置文本颜色

virtualCOLORREFSetTextColor(COLORREFcrColor;

参数:

crColor指定文本颜色

返回值:

先前的文本颜色

CDC:

:

TextOut用当前字体在指定位置写一字符串

virtualBOOLTextOut(intx,inty,LPCTSTRlpszString,intnCount;

BOOLTextOut(intx,inty,constCString&str;

参数:

x,y文本左上角坐标;lpszString指示要输出的字符串;nCount为字符串中字节数;str为要输出的CString对象

返回值:

若成功,返回非0;否则返回0

CDialog类:

所有对话框(模态或非模态的基类

CDialog:

:

DoModal激活模态对话框,完成后返回对话框结果

virtualintDoModal(;

返回值:

若不可创建对话框,返回-1;若错误返回IOABORT;若用户用“确定”按钮退出对话框,返回IDOK,否则返回IDCANCEL或0

CDocument类:

提供用户定义的文档类的基本功能

CDocument:

:

CanCloseFrame在关闭框架窗口之间由框架调用

virtualBOOLCanCloseFrame(CFrameWnd*pFrame;

参数:

pFrame指向连接到该文档上的一个视的框架窗口

CDocument:

:

SetTitle指定文档的标题

virtualvoidSetTitle(LPCTSTRlpszTitle;

参数:

lpszTitle指向用作文档标题的字符串

CEdit类:

是一个用于编辑控件的类

CEdit:

:

Copy将编辑控件中的当前选择以CF_TEXT格式拷贝到剪贴板中

voidCopy(;

CEdit:

:

Cut剪切编辑控件中所选文本并以CF_TEXT格式拷贝到剪贴板中

voidCut(;

CEdit:

:

GetModify确定控件内容是否修改

BOOLGetModify(const;

返回值:

若控件内容已修改,返回非0值,否则返回0。

CEdit:

:

GetSel获取编辑控件中当前选择的位置

DWORDGetSel(const;

voidGetSel(int&nStartChar,int&nEndCharconst;

参数:

nStartChar用于接收当前选择的第一个字符的位置;nEndChar用于接收当前选择后面第一个未选字符的位置。

返回值:

低位字和高位字分别是当前选择开始和选择区后第一个未选字符的位置。

CEdit:

:

Paste将数据从剪贴板插入到编辑控件中的当前光标处

voidPaste(;

CEdit:

:

ReplaceSel用指定的文本替换编辑控件内选择的文本

voidReplaceSel(LPCTSTRlpszNewText,BOOLbCanUndo=FALSE;

参数:

lpszNewText指向替换文本的字符串;bCanUndo为TRUE时,指定该操作可以用Undo(撤销CEdit:

:

SetLimitText设置CEdit控件可接收文本的最大字节数

voidSetLimitText(UINTnMax;

参数:

nMax新文本限制,按字节计。

CEdit:

:

SetModify设置控件修改标志

voidSetModify(BOOLbModified=TRUE;

参数:

bModified为TRUE,指示控件已修改,为FALSE,清除修改标志

CEdit:

:

SetSel设置编辑控件中选择的字符

voidSetSel(DWORDdwSelection,BOOLbNoScroll=FALSE;

voidSetSel(intnStartChar,intnEndChar,BOOLbNoScroll=FALSE;

参数:

dwSelection若低位字为0而高位字为-1,则选择所有文本;若低位为-1,则撤销当前选择;bNoScroll为FALSE时插入字符滚入视野,否则插入字符不滚入视野;

nStartChar指定选择的起始位置,nEndChar指定选择的终止位置;若nStartChar为0且nEndChar为-1,选择所有文本;若nStartChar为-1,撤销当前选择

CFile类:

该类是基本文件类的基类

CFile:

:

Close关闭文件,使该文件不可用于读写

virtualvoidClose(;

CFile:

:

GetLength求文件长度(以字节计

virtualDWORDGetLength(const;

返回值:

文件长度

CFile:

:

Open打开文件

virtualBOOLOpen(LPCTSTRlpszFileName,UINTnOpenFlags,CFileException*pError=NULL;参数:

lpszFileName指定打开文件的路径;nOpenFlags定义文件的共享和存取方式;pError指向一个已有的文件异常对象的指针。

nOpenFlags的常用取值:

CFile:

:

modeCreate创建一个新文件,若文件已存在,则该文件被清空;

CFile:

:

modeRead用于只读;CFile:

:

modeReadWrite用于读写;

CFile:

:

modeWrite用于只写;CFile:

:

modeNoInherit阻止文件被子进程继承;

返回值:

若打开成功,返回非0;否则返回0

CFile:

:

Read从文件中读一段数据到一缓冲区中

virtualUINTRead(void*lpBuf,UINTnCount;

参数:

lpBuf指向用户定义的缓冲区;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 小学教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1