在学习MFC的过程中跟踪程序运行,发现在
......\VC98\MFC\SRC\WINFRM.CPP中
BOOL CFrameWnd::LoadFrame(UINT nIDResource, DWORD dwDefaultStyle,
CWnd* pParentWnd, CCreateContext* pContext)
{
......
VERIFY(AfxDeferRegisterClass(AFX_WNDFRAMEORVIEW_REG));
......
}AfxDeferRegisterClass的调用直接指向了
......\VC98\MFC|SRC\WINCORE.CPP中
BOOL AFXAPI AfxEndDeferRegisterClass(LONG fToRegister){......}因为没有找到这两个函数的资料,所以有如下几个问题请教:1. 为什么前者的调用会指向后者,如果是函数的重载或者函数指针,那么它的定义在什么地方呢?
2. 这样做的意义是什么?
3. AfxEndDeferRegisterClass是完成窗口类的注册,那么AfxDeferRegisterClass主要完成什么功能呢?
......\VC98\MFC\SRC\WINFRM.CPP中
BOOL CFrameWnd::LoadFrame(UINT nIDResource, DWORD dwDefaultStyle,
CWnd* pParentWnd, CCreateContext* pContext)
{
......
VERIFY(AfxDeferRegisterClass(AFX_WNDFRAMEORVIEW_REG));
......
}AfxDeferRegisterClass的调用直接指向了
......\VC98\MFC|SRC\WINCORE.CPP中
BOOL AFXAPI AfxEndDeferRegisterClass(LONG fToRegister){......}因为没有找到这两个函数的资料,所以有如下几个问题请教:1. 为什么前者的调用会指向后者,如果是函数的重载或者函数指针,那么它的定义在什么地方呢?
2. 这样做的意义是什么?
3. AfxEndDeferRegisterClass是完成窗口类的注册,那么AfxDeferRegisterClass主要完成什么功能呢?
解决方案 »
- mfc 两个settimer冲突问题
- 怎样做一个 p2p在公网上的服务器啊
- DirectShow播放为何图象倒过来了?
- 为什么在for循环时OnTimer中不能进去执行OnTimer中的代码?
- 如何关机??
- 请问大家VC中组件开发主要是指什么?还有COM,DCOM之类的
- 在matlab中生成的.mat数据文件格式什么?
- 像flashget一样多语言版本,该在对话框中设置什么字体才好?
- 如何控制文件的读取及修改等,急、急、急?
- CDocument::UpdateAllViews()和CView::GetDocument()函数究竟是如何取得对象的?
- activex如何显示一个资源中工具条?
- VC2003怎么调试时编辑并继续,我怎么也弄不成呀,帮我
......\VC98\MFC\SRC\AFXIMPL.H文件中有定义:#define AfxDeferRegisterClass(fClass) AfxEndDeferRegisterClass(fClass)BOOL AFXAPI AfxEndDeferRegisterClass(LONG fToRegister);这两个函数实际上就是一个,都是完成窗口类的注册。那么微软为什么要这么做呢??真让人费解......请教高手释疑:
以前的
#define AfxDeferRegisterClass(fClass) \ ((afxRegisteredClasses & fClass) ? TRUE:AfxEndDeferRegisterClass(fClass)
现在放到AfxEndDeferRegisterClass的实现里面了