MFC函数自学手册.docx

上传人:b****5 文档编号:11745019 上传时间:2023-03-31 格式:DOCX 页数:43 大小:31.47KB
下载 相关 举报
MFC函数自学手册.docx_第1页
第1页 / 共43页
MFC函数自学手册.docx_第2页
第2页 / 共43页
MFC函数自学手册.docx_第3页
第3页 / 共43页
MFC函数自学手册.docx_第4页
第4页 / 共43页
MFC函数自学手册.docx_第5页
第5页 / 共43页
点击查看更多>>
下载资源
资源描述

MFC函数自学手册.docx

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

MFC函数自学手册.docx

MFC函数自学手册

视频5:

文本编辑

1.函数的功能:

字体的创建

函数原型:

CFont:

:

CreatePointFont

BOOLCreatePointFont(intnPointSize,//字体的大小

LPCTSTRlpszFaceName,//字体的名字

CDC*pDC=NULL);

其他说明(返回值、参数):

2.函数的功能:

输出字符串宽度平滑加大

函数原型:

CDC:

:

DrawText

intDrawText(constCString&str,//输出文字的字符串

LPRECTlpRect,//输出的矩形宽度

UINTnFormat//输出的格式

);

其他说明:

uFormat选择DT_LEFT:

左对齐方式。

通过矩形宽度的平滑增加而实现。

3.函数的功能:

设置一个定时器

函数原型:

CWnd:

:

SetTimer

UINTSetTimer(UINTnIDEvent,//设置一个定时器的标识

UINTnElapse,//每隔多长时间发送定时消息,ms为单位

void(CALLBACKEXPORT*lpfnTimer)(HWND,UINT,UINT,DWORD)

);

其他说明:

函数调用成功讲返回第一个参数的标识值。

第三个参数设置为NULL,回调函数讲放在消息队列中处理,对应消息WM_TIMER。

视频6:

菜单

1.函数的功能:

应用程序框架消息盒显示的函数

函数原型:

AfxMessageBox(“Docclicked”);

其他说明:

2.函数的功能:

获取菜单栏的指针

函数原型:

CWnd:

:

GetMenu 

CMenu*GetMenu()const;

其他说明:

返回一个指向菜单栏的指针。

3.函数的功能:

获取一个子菜单

函数原型:

CMenu:

:

GetSubMenu

CMenu*GetSubMenu(intnPos)const;

其他说明:

返回一个指向子菜单的指针。

参数为子菜单的索引。

Cmenu对象调用该函数。

4.函数的功能:

在一个菜单项上放置一个标记

函数原型:

CMenu:

:

CheckMenuItem

UINTCheckMenuItem(UINTnIDCheckItem,UINTnCheck);

其他说明:

第一个参数取值由第二个参数决定。

第二个参数取值MF_BYCOMMAND第一个参数取值菜单的ID号。

第二的参数取值MF_BYPOSITION第一个参数代表菜单的索引号。

第二个参数取值MF_CHECKEDorMF_UNCHECKEDwithMF_BYPOSITIONorMF_BYCOMMAND的组合。

5.函数的功能:

设置缺省的菜单项,缺省菜单项就是以粗体显示。

函数原型:

CMenu:

:

SetDefaultItem

BOOLSetDefaultItem(UINTuItem,BOOLfByPos=FALSE);

其他说明:

第二个参数为FLASE第一个参数为命令的ID,第二的参数为TURE第一个参数为索引号。

6.函数的功能:

图形标记菜单的创建

函数原型:

CMenu:

:

SetMenuItemBitmaps

BOOLSetMenuItemBitmaps(UINTnPosition,UINTnFlags,constCBitmap*pBmpUnchecked,constCBitmap*pBmpChecked);

其他说明:

第二个参数取值MF_BYCOMMAND第一个参数取值菜单的ID号。

第二的参数取值MF_BYPOSITION第一个参数代表菜单的索引号。

后面2个参数都是位图的指针,第一个为选中位图,第二个为未选中位图。

7..函数的功能:

获取一个系统信息的度量

函数原型:

intGetSystemMetrics(intnIndex);//systemmetricorconfigurationsetting

其他说明:

参数分别选SM_CXMENUCHECK,SM_CYMENUCHECK,返回一个菜单项图形标记的宽度和高度。

8.函数的功能:

将字符串格式化到字符串对象当中

函数原型:

CString:

:

Format

其他说明:

9.函数的功能:

让一个菜单项失效

函数原型:

CMenu:

:

EnableMenuItem

UINTEnableMenuItem(UINTnIDEnableItem,UINTnEnable);

其他说明:

第二个参数取值MF_BYCOMMAND第一个参数取值菜单的ID号。

第二的参数取值MF_BYPOSITION第一个参数代表菜单的索引号。

第二个参数组合MF_DISABLED,MF_ENABLED,orMF_GRAYED,withMF_BYCOMMANDorMF_BYPOSITION。

备注:

在CMainFrame的构造函数中设置m_bAutoMenuEnable=FALSE。

10.函数的功能:

如何更换或取消整个菜单栏

函数原型:

CWnd:

:

SetMenu

BOOLSetMenu(CMenu*pMenu);

其他说明:

如果参数为空,当前的菜单栏将被移除。

如果为CMenu对象的地址则设定这个菜单栏。

11.函数的功能:

CMenu对象加载一个菜单栏

函数原型:

CMenu:

:

LoadMenu

BOOLLoadMenu(LPCTSTRlpszResourceName);

BOOLLoadMenu(UINTnIDResource);

其他说明:

12.函数的功能:

命令更新,让一个菜单项有效或失效。

函数原型:

CCmdUI:

:

Enable

virtualvoidEnable(BOOLbOn=TRUE);

其他说明:

CCmdUI类没有基类。

参数为TURE时菜单项有效,为FALSE菜单项无效。

调用时,使用CCmdUI的对象调用该函数。

13.函数的功能:

该函数在指定位置显示快捷菜单,并跟踪菜单项的选择。

函数原型:

CMenu:

:

TrackPopupMenu

BOOLTrackPopupMenu(UINTnFlags,intx,inty,CWnd*pWnd,LPCRECTlpRect=NULL);

其他说明:

第二三参数为菜单显示的屏幕参考点,第一个参数为显示参考点的哪个位置TPM_CENTERALIGNorTPM_LEFTALIGNorTPM_RIGHTALIGNorTPM_RIGHTBUTTON。

第四个参数决定在那个类中快捷菜单项能后实行命令响应。

比如this就只能在C*View类中响应,GetParent()就只能在CmainFrame类中响应。

14.函数的功能:

客户区坐标转换为屏幕坐标

函数原型:

CWnd:

:

ClientToScreen 

voidClientToScreen(LPPOINTlpPoint)const;

voidClientToScreen(LPRECTlpRect)const;

其他说明:

15.函数的功能:

添加一个弹出菜单、弹出菜单的菜单项、子菜单、子菜单的菜单项到末尾

函数原型:

CMenu:

:

AppendMenu

BOOLAppendMenu(UINTnFlags,UINTnIDNewItem=0,LPCTSTRlpszNewItem=NULL);

其他说明:

第一个参数为MF_POPUP,创建一个弹出菜单,第二个参数设置为菜单栏的句柄。

如果第一个参数设置为MF_SEPARATOR即分隔栏,第二个参数就忽略。

第一个参数为MF_STRING,第二个参数为菜单项的ID号,第三个为菜单的名字。

第三个参数为名称。

16.函数的功能:

创建一个空的弹出菜单,并且关联一个Cmenu对象。

函数原型:

CMenu:

:

CreatePopupMenu

BOOLCreatePopupMenu();

其他说明:

17.函数的功能:

插入一个弹出菜单、弹出菜单的菜单项、子菜单、子菜单的菜单项

函数原型:

CMenu:

:

InsertMenu

BOOLInsertMenu(UINTnPosition,UINTnFlags,UINTnIDNewItem=0,LPCTSTRlpszNewItem=NULL);

其他说明:

18.函数的功能:

删除一个子菜单、菜单项、弹出菜单

函数原型:

CMenu:

:

DeleteMenu

BOOLDeleteMenu(UINTnPosition,UINTnFlags);

其他说明:

第二的参数为MF_BYPOSITION,第一个参数为索引号。

19.函数的功能:

在窗口已经被创建后,菜单栏改变后重绘菜单栏

函数原型:

CWnd:

:

DrawMenuBar 

voidDrawMenuBar();

其他说明:

在View类中让父窗口的菜单重绘应该这么调用Getparent()->DrawMenuBar();

20.函数的功能:

输出字符串

函数原型:

CDC:

:

TextOut

BOOLTextOut(intx,inty,constCString&str);

其他说明:

CDC类的对象调用该函数。

21.函数的功能:

让真个客户端消息无效,引起窗口的重绘

函数原型:

CWnd:

:

Invalidate

voidInvalidate(BOOLbErase=TRUE);

其他说明:

参数为TURE,背景被擦除。

参数FLASE,背景保留。

22.函数的功能:

在一个字符串中找一个字符第一个字符的索引

函数原型:

CString:

:

Find

intFind(TCHARch)const;

其他说明:

23.函数的功能:

取一个值的低字节序

函数原型:

WORDLOWORD(DWORDdwValue);

其他说明:

24.函数的功能:

取一个值的高字节序

函数原型:

WORDHIWORD(DWORDdwValue);

其他说明:

视频7对话框

1.函数的功能:

创建一个非modal对话框

函数原型:

CDialog:

:

Create

BOOLCreate(LPCTSTRlpszTemplateName,CWnd*pParentWnd=NULL);

BOOLCreate(UINTnIDTemplate,CWnd*pParentWnd=NULL);、

其他说明:

第一个参数为一个对话框模板的名字或ID号。

第二个参数为其父窗口的指针。

如果第二个参数为NULL,则其父窗口为主应用程序窗口。

2.函数的功能:

显示一个窗口

函数原型:

CWnd:

:

ShowWindow

BOOLShowWindow(intnCmdShow);

其他说明:

参数可以选SW_SHOW

3.函数的功能:

创建一个按钮

函数原型:

CButton:

:

Create

BOOLCreate(LPCTSTRlpszCaption,//控件的文本

DWORDdwStyle,//控件的类型,可以选BS_DEFPUSHBUTTON 

constRECT&rect,CWnd*pParentWnd,//控件矩形区域和控件父窗口

UINTnID//控件ID号

);

其他说明:

第二个类型buttonstyles和windowstyles可以同时选择,如果没有调用windowstyles,那么在控件创建后还要调用showwindow函数将按钮显示出来。

4.函数的功能:

销毁一个窗口

函数原型:

CWnd:

:

DestroyWindow 

virtualBOOLDestroyWindow();

其他说明:

5.函数的功能:

获取一个窗口的文本

函数原型:

CWnd:

:

GetWindowText

voidGetWindowText(CString&rString)const;

intGetWindowText(LPTSTRlpszStringBuf,intnMaxCount)const;

其他说明:

第一个函数参数用来保存窗口的文本。

第二个函数第一个参数为一个字符串的指针用来存储字符串,第二个参数为拷贝到第一个字符串指针最大的数目。

6.函数的功能:

返回一个CWnd的指针,获取对话框控件的指针或子窗口的指针,大多情况下用在对话框内当中

函数原型:

CWnd:

:

GetDlgItem 

CWnd*GetDlgItem(intnID)const;

其他说明:

参数为控件的ID号,用ID号识别对话框中的控件。

7.函数的功能:

设置一个窗口的文本

函数原型:

CWnd:

:

SetWindowText

voidSetWindowText(LPCTSTRlpszString);

其他说明:

8.函数的功能:

字符串内容装换为数值

函数原型:

intatoi(constchar*string);

其他说明:

9.函数的功能:

数值转换为字符串

函数原型:

char*_itoa(intvalue,char*string,intradix);

其他说明:

第一参数为被装换的数值,第二个参数为转换结果存储的字符串指针,第三个参数为进制。

10.函数的功能:

获取一个子控件的文本

函数原型:

CWnd:

:

GetDlgItemText 

intGetDlgItemText(intnID,LPTSTRlpStr,intnMaxCount)const;

intGetDlgItemText(intnID,CString&rString)const;

其他说明:

该函数相当于CWnd:

:

GetDlgItem 和CWnd:

:

GetWindowText的和。

第一个参数为控件的ID,第二个参数为存放字符串的指针,第三个为获取的字符串最大数目。

11.函数的功能:

设置一子控件的文本

函数原型:

CWnd:

:

SetDlgItemText

voidSetDlgItemText(intnID,LPCTSTRlpszString);

其他说明:

和上一个说明相似。

12.函数的功能:

获取一个对话框控件的文本,在转换为整型返回。

函数原型:

CWnd:

:

GetDlgItemInt 

UINTGetDlgItemInt(intnID,BOOL*lpTrans=NULL,BOOLbSigned=TRUE)const;

其他说明:

参数1为控件的ID号。

参数2为转换标志,设为NULL,当获取失败将不发生警告。

参数3为接受被转换的值是否有符号,设为TURE表明处理一个有符号的数字。

13.函数的功能:

设置一个对话框控件的数值

函数原型:

CWnd:

:

SetDlgItemInt

voidSetDlgItemInt(intnID,UINTnValue,BOOLbSigned=TRUE);

其他说明:

和上一个说明相似。

14.函数的功能:

发送一个消息

函数原型:

SendMessage(

(HWND)hWnd,//handletodestinationwindow

WM_GETTEXT,//messagetosend

(WPARAM)wParam,//numberofcharacterstocopy

(LPARAM)lParam//textbuffer

);

其他说明:

WM_GETTEXT获取一个文本消息,WM_SETTEXT设置一个文本消息。

15.函数的功能:

发送一个消息

函数原型:

CWnd:

:

SendMessage

LRESULTSendMessage(UINTmessage,WPARAMwParam=0,LPARAMlParam=0);

其他说明:

CWnd的对象调用该函数。

16.函数的功能:

给子控件发送一个消息

函数原型:

CWnd:

:

SendDlgItemMessage

LRESULTSendDlgItemMessage(intnID,UINTmessage,WPARAMwParam=0,LPARAMlParam=0);

其他说明:

CWnd的对象调用该函数。

第一个参数为子控件的ID号。

该函数等价于先调用CWnd:

:

GetDlgItem 后调用CWnd:

:

SendMessage。

17.函数的功能:

EM_GETSEL消息获取编辑框复选内容

函数原型:

SendMessage(

(HWND)hWnd,//handletodestinationwindow

EM_GETSEL,//messagetosend

(WPARAM)wParam,//startingposition(LPDWORD)

(LPARAM)lParam//endingposition(LPDWORD)

);

其他说明:

第三个参数为复选的起始位置,第四个参数为复选的结束位置。

如果开始位置设为0,结束位置设为-1,则所有文本被复选。

18.函数的功能:

设置一个窗口的焦点,并返回一个先前具有输入焦点的窗口所对应C++类的指针

函数原型:

CWnd:

:

SetFocus

CWnd*SetFocus();

其他说明:

CWnd的对象调用该函数。

下面函数与对话框的收缩与扩展相关

19.函数的功能:

检测一个矩形区域是否为空,通过判断矩形的宽度和高度为0。

函数原型:

CRect:

:

IsRectEmpty

BOOLIsRectEmpty()const;

其他说明:

20.函数的功能:

检测一个矩形区域是否为空,通过判断四个坐标值是否为0。

函数原型:

CRect:

:

IsRectNull

BOOLIsRectNull()const;

其他说明:

21.函数的功能:

获取一个窗口的矩形区域

函数原型:

CWnd:

:

GetWindowRect

voidGetWindowRect(LPRECTlpRect)const;

其他说明:

参数为矩形区域的指针。

获取的坐标为屏幕的左上角为原点。

函数原型:

CWnd:

:

ScreenToClient

voidScreenToClient(LPPOINTlpPoint)const;

voidScreenToClient(LPRECTlpRect)const;

其他说明:

将屏幕区域坐标转换为客户区域坐标。

22.函数的功能:

RECT结构体

函数原型:

typedefstructtagRECT{

 LONGleft;//左上角的x坐标

 LONGtop;//左上角的y坐标

 LONGright;//右下角的x坐标

 LONGbottom;//右下角的y坐标

}RECT;

其他说明:

23.函数的功能:

改变一个子窗口,弹出式窗口或顶层窗口的尺寸,位置和Z序。

函数原型:

CWnd:

:

SetWindowPos

BOOLSetWindowPos(constCWnd*pWndInsertAfter,intx,inty,intcx,intcy,UINTnFlags);

其他说明:

x,y为窗口左上角的坐标。

cx和cy指的是窗口的高度和宽度。

nFlag选择SWP_NOMOVE就忽略x,y的值,选择SWP_NOZORDER就忽略pWndInsertAfter的值。

24.函数的功能:

改变一个指定窗口的属性

函数原型:

LONGSetWindowLong(HWNDhWnd,//handletowindow

intnIndex,//offsetofvaluetoset

LONGdwNewLong//newvalue

);

其他说明:

第一个参数为改变窗口的句柄,第二参数为一个值的偏移量为GWL_WNDPROC时可以设置一个窗口的地址,第三个参数为新窗口的地址。

函数成功返回先前的32位窗口地址的整型值。

25.函数的功能:

获取编辑框下一个窗口的句柄

函数原型:

HWNDGetNextWindow(HWNDhWnd,//handletocurrentwindow

UINTwCmd//direction

);

其他说明:

第二个参数可以选择GW_HWNDNEXT和GW_HWNDPREV。

26.函数的功能:

获取窗口句柄的函数

函数原型:

HWNDGetWindow(HWNDhWnd,//handletooriginalwindow

UINTuCmd//relationship

);

其他说明:

第二参数可以取GW_HWNDLAST、GW_HWNDNEXT、GW_HWNDPREV、GW_CHILD等。

27.函数的功能:

获取一个句柄指向第一个具有WS_TABSTOP类型的控件。

函数原型:

HWNDGetNextDlgTabItem(HWNDhDlg,//handletodialogbox

HWNDhCtl,//handletoknowncontrol

BOOLbPrevious//directionflag

);

其他说明:

第一个参数为对话框的句柄,第二个参数为已知控件的句柄也就是从哪一个控件开始查找。

第三个参数为方向的标记为TURE时搜索先前的控件,为FALSE时搜索下一个控件。

视频8对话框属性表单

创建属性表单类:

Insert->NewClass->名字叫C*Sheet,基类选择CPropertySheet->OK。

如何将属性页增加到属性表单当中:

在属性表单的构造函数当中调用CPropertySheet:

:

AddPage。

在属性表单中创建属性页的对象和增加他们各自的头文件。

如何创建一个向导对话框:

步骤和创建属性表单一样,但在调用DoModal之前要先调用SetWizardMode

如何在属性页中增加一个虚函数OnSetActive:

右击函数的类AddVirtualFunction->选择OnSetActive->AddHandler->EditExisting。

WM_INITDIALOG与WM_CREATE的区别:

WM_CREATE是所有窗口都能响应的消息,表明本窗口已经创建完毕.在响应WM_CREATE消息响应函数的时候,对话框及子控件还未创建完成,亦是说只是通知系统说要开始创建窗口了,这个消息响应完之后,对话框和子控件才开始创建。

因此在此消息响应函数中无法对控件进行修改和初始化。

而WM_INITDIALOG消息响应函数是在程序运行时,当其对话框和子控件全部创建完毕,将要显示内容的时候发送的消息。

因此可以在WM_INITDIALOG消息响应函数中添加对编辑框控件的初始化和修改。

1.函数的功能:

将属性页对象增加到属性表单当中

函数原型:

C

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

当前位置:首页 > 高等教育 > 农学

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

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