我爱Aspx >> VC.Net >> 走出MFC子类化的迷宫这个AfxGetAfxWndProc()函数是这样的:
WNDPROC AFXAPI AfxGetAfxWndProc()
{
#ifdef _AFXDLL
return AfxGetModuleState()->m_pfnAfxWndProc;
#else
return &AfxWndProc;#endif
}
读过侯捷先生《深入浅出MFC》的朋友不知还是否记得MFC的命令路由机制正是以这个函数为起点的!
这样当程序收到发给Edit的WM_CHAR时,本应调用EDIT标准窗口处理函数,现在被改为调用LRESULT CALLBACK AfxWndProc (HWND hWnd, UINT nMsg, WPARAM wParam, LPARAM lParam)了,然后WM_CHAR消息进行一系列的流窜,最终成功到达我们的处理函数CSuperEdit::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags),至于是如何流窜的、怎么到达的请参考《深入浅出MFC》[如果您的书是繁体电子版,请从566页读起]。
终于,我们走出了FMC子类化的迷宫。
CSDN 烤鸡翅膀
2002-12-3
[FINISH]
PS:本人才疏学浅,如果说得有什么让人“笑得露齿”的地方,一定要通知我呦。
C#和C++的速度大比拼(二)[05-21]
C#和C++的速度大比拼(第一部分)[05-21]
关于杠杆长度变化的问题(C问题)[05-21]
利用SharpZipLib实现实时zip压缩..[05-21]
简单分析用SPI实现防火墙[05-21]
简单分析用SPI实现防火墙[05-21]
WIN32用户界面设计基础之Cursor篇[05-21]
WIN32用户界面设计基础之Cursor篇[05-21]
程序员手记:简析Java RMI 与 .N..[05-21]
智力游戏九连环的算法[05-21]