再整不出来我真的要绝望了,现在正赶一个项目,用的是XTreme Tool,整体结构基本上是用向导创建的一个OutLook风格的SDI界面,下面是简要的说明:
1)m_wndSplitter1.CreateStatic(this, 1, 2)
   --〉用一个OutBar 填充(0,0)2)m_wndSplitter2.CreateStatic(m_wndSplitter1,
                               2,1,
                               m_wndSplitter1.IdFromRowCol(0, 1))
   --〉用一个Caption填充 (0, 0)3)点击左侧的图标切换m_wndSplitter2的(1,0),显示一个从CXTTabView派生的
  CTestView类
//**************************************************
switch (nBarAction)
{
case OBN_XT_ITEMCLICK:
      {
                    ......
                    CString strCaption=pOBInfo->lpszText;获取图标字符
                    m_wndCaption.UpdateCaption(.......);更新标题内容 
                    if(strCaption=="检测内容")
                    {
                       if (!(m_wndSplitter2.GetPane(1,0)->IsKindOf
                           (RUNTIME_CLASS(CTestView))))
                       m_wndSplitter2.ReplaceView(1,0, RUNTIME_CLASS
                                                  (CTestView));
                    .......
                    } 
               }
//**************************************************
*****:请注意CTestView从CXTTabView派生
*****:class CTestView:public CXTTabView4)在CTestView里我添加了两个FormView
//**************************************************
int CTestView::OnCreate(LPCREATESTRUCT lpCreateStruct) 
{
if (CXTTabView::OnCreate(lpCreateStruct) == -1)
return -1;

// TODO: Add your specialized creation code here
...................
// Create the image list used by the tab control.
AddView(_T("线性检测"), RUNTIME_CLASS(CLinearityView));
AddView(_T("圆周检测"), RUNTIME_CLASS(CCircleView));
SetActiveView(1);
         ...................
}
**************************************************
*****:在两个FormView中我像平常一样添加了
*****:几个编辑框和一个下拉框件成员变量和OnChangePara1Edit()响应函数
*****:CXTFlatEdit     m_ctlPara1;
*****:CXTFlatComboBox m_ctlCombo;
*****:CString         m_strPara1;
*****:DDX_Control(pDX,IDC_PARA1_EDIT,m_ctlPara1); 
*****:DDX_Control(pDX,IDC_TYPE1_COMB,m_ctlCombo); 
*****:DDX_Text   (pDX,IDC_PARA1_EDIT,m_strPara1);void CTestView::OnChangePara1Edit() 
{
UpdateData(TRUE);
}4)故事从这里就开始了
  当我激活要显示的CTestView时,该视图确实可以显示出来,也就是ReplaceView工作正常(我的观点),但是它所包含的两个FormView上面的控件像编辑框和下拉框的Flat(扁平)风格的效果不见了,而且当我向编辑框输入一些字符时(也就是响应OnChangePara1Edit),程序出错,但是我选择“忽略”之后,这些扁平效果又奇怪的出现了,而且再响应OnChangePara1Edit时也没有问题了;但是我如果不是通过选择左侧图标激活该视图的话,比如我试着将之放在MainFrame的OnCreate函数中,让程序一开始就显示CTestView的话,就完全没有这些问题!
  后来我跟踪了一下程序,就是在其中一个FormView的DoDataExchange中放了一个断点 比如 F9 DDX_Control(pDX,IDC_PARA1_EDIT,m_ctlPara1); 我发现使用第二种方应用程序可以到达断点;而第一种断点则无法到达,也就是说无法进行数据交换,无法把控件成员变量和资源关联起来,因此无法显示这些扁平效果当然更谈不上响应
WM_EN_CHANGE消息了。我要看到扁平效果,我要能进行数据交换,我要能响应WM_EN_CHANGE,这就是我全部的问题。5)我调了好长时间了,难道我真的要倒在这个该死的问题上了吗?真诚的希望大虾们出手救命!