MFC API小结(持续更新)

本文总结了MFC编程中常用的API,包括获取控件ID、弹出消息对话框、加载位图等实用技巧,并详细介绍了如何使用这些API进行实际开发。
rel="File-List" href="file:///C:%5CDOCUME%7E1%5CADMINI%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml"> rel="themeData" href="file:///C:%5CDOCUME%7E1%5CADMINI%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_themedata.thmx"> rel="colorSchemeMapping" href="file:///C:%5CDOCUME%7E1%5CADMINI%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_colorschememapping.xml">

最近要用到MFC编程,windowsAPI感觉很多,总记不住,就把它们写下来:

CWnd::GetDlgCtrlID()
获取控件ID


AfxMessageBox
弹出消息对话框

 

MessageBox


LoadImage
加载bitmapiconcursor,返回各自的handle

 

GetObject HBITMAP来获取BITMAP数据结构,如:

HBITMAP hbmp = LoadImage( … );

BITMAP bmp;

GetObject(hbmp, sizeof(BITMAP), &bmp);

这样就能得到bmp
DeleteObject
DestroyCursorDestroyIconLoadImage用完后,删除各自的handle


CDialog::DoModal
弹出对话框,调用CDialog::OnOK();时退出对话框

 

CFileDialog::GetPathName 获取文件名的绝对路径


SendMessage
发送消息给指定对话框,如:
::SendMessage(::GetParent(this->m_hWnd), WM_RBUTTONUP, GetDlgCtrlID(), 0);
发送消息WM_RBUTTONUP给它的拥用者,参数1为自己的ID

 

想知道窗口有哪些消息,使用MFC ClassWizard,就可看到列出的对话框或者控件的消息。

 

CWnd:: Invalidate() 让对话框或者控件区域无效,当数据更新后需要更新UI的时候调用。

 

StretchDIBits 将一设备无关的bitmap数据copy到一个HDC

 

CClientDC::CClientDC  引用MSDN里的话:The CClientDC class is derived from CDC and takes care of calling the Windows functions GetDC at construction time and ReleaseDC at destruction time. This means that the device context associated with a CClientDC object is the client area of a window.也就是说调用下面的语句:

         CClientDC  pDC(this);

就能为当前的CWnd对象生成对应的DC,再调用:

         StretchDIBits(pDC,0,0,bmpWidth,bmpHeight,0,0,bmpWidth,bmpHeight,

                   lpSrcBits,lpBitmapInfo,DIB_RGB_COLORS,SRCCOPY);

就能将bitmap图片画到这个DC上(其中lpSrcBitslpBitmapInfobitmap图片的数据)。

 

CDC::GetPixel

 

 

CDialog::OnPaint()

 

CDialog::OnInitDialog()

CWnd::UpdateData

 

HWND current = ::GetFocus();

 

::GetWindowText(current, str, 100);

 

BITMAPFILEHEADER以及BITMAPINFOHEADER

 

CreateDIBSection

 

CreateCompatibleDC NULL为参数

 

BitBlt

 

DeleteDC

 

DeleteObject

 

SelectObject

 

GridCtrl API

 

ON_NOTIFY

 

DDX_GridControl


SetCapture( HWND hWnd ): 让hWnd获取鼠标对屏幕操作的消息,即使鼠标已经离开hWnd

ReleaseCapture(void): 与SetCapture相关

常用MFCAPI函数 索引 CArchive类:用于二进制保存档案 CBitmap类:封装Windows的图形设备接口(GDI)位图 CBrush类:封装图形设备接口(GDI)中的画刷 CButton类:提供Windows按钮控件的功能 CByteArray类:该类支持动态的字节数组 CCmdUI类:该类仅用于ON_UPDATE_COMMAND_UI处理函数中 CColorDialog类:封装标准颜色对话框 CDC类:定义设备环境对象类 CDialog类:所有对话框(模态或非模态)的基类 CDocument类:提供用户定义的文档类的基本功能 CEdit类:是一个用于编辑控件的类 CFile类:该类是基本文件类的基类 CFileDialog类:封装了打开和保存文件的标准对话框 CFindReplaceDialog类:封装了标准查找/替换对话框 CFont类:封装了Windows图形设备接口(GDI)中的字体对象 CFontDialog类:封装了字体选择对话框 CGdiObject类:GDI绘图工具的基类 CIPAddressCtrl类:提供了IP地址控件的功能 CImageList类:管理大小相同的图标或位图集 CMenu类:封装应用程序菜单栏和弹出式菜单 CPen类:封装了Windows图形设备接口(GDI)中的画笔对象 CPoint类:操作CPoint和POINT结构 CRect类:封装了一个矩形区域及相关操作 CRgn类:封装用于操作窗口中的椭圆、多边形或者不规则区域的GDI区域 CSize类:用于表示相对坐标或位置 CSpinButtonCtrl类:旋转控件Spin的控制类 CStatusBar类:状态栏窗口的基类 CString类:处理字符串 CStringList类:支持CString对象的列表 CWinApp类:派生的程序对象的基类 CWnd类:提供所有窗口类的基本函数 API函数 CArchive类:用于二进制保存档案 CArchive::CArchive 建立一个CArchive对象 CArchive(CFile* pFile,UINT nMode,int nBufSize=4096,void* lpBuf=NULL); 参数:pFile 指向CFile对象的指针,这个CFile对象
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值