如果用 MS All-In-One Code Framework 示例程序模板中Visual Studio 2008-> CppWindowsDialog ,创建属于你自己的基于对话框的Win32程序, 你会发现生成的程序不能用tab在空间之间切换,这是由于示例程序没有对消息进行预处理,把对话框消息从主消息流中分离出来。解决方法如下
1、注释掉InitInstance函数
2、注释掉_tWinMain函数中对InitInstance函数的调用
3、拷贝并调整InitInstance中的内容到主消息函数GetMessage的前面
4、改写GetMessage函数
5、重点是使用IsDialogMessage对消息进行过滤,过滤掉对话框消息