m_tabCtrl.InsertItem(0,"1");
m_tabCtrl.InsertItem(1,"2"); page1.Create(IDD_1,&m_tabCtrl);
page2.Create(IDD_2,&m_tabCtrl); page1.SetWindowPos(NULL,10,50,400,200,SWP_SHOWWINDOW);
page2.SetWindowPos(NULL,10,50,400,200,SWP_HIDEWINDOW);我用这种方法实现后,在page1里面的文本框中输入数字后,按下回车,page1就自动消失了,请问这是怎么回事?

解决方案 »

  1.   

    让page1,page2属于dialog,在tab切换时对page1,page做隐藏与显示操作。
      

  2.   

    你这样回车后是执行了默认的 CDialog::OK()函数...
    如果要屏蔽这个操作可以在PAGE1中重载OK()函数, 然后 在函数中 将CDialog::OK()这句话注释掉就可了....
    还有一种情况是你在按ESC时 page1也会自动消失,这时你要重载CDialog::Cancel()函数就可以屏蔽这个操作....
      

  3.   

    你这样回车后是执行了默认的   CDialog::OK()函数... 
    如果要屏蔽这个操作可以在PAGE1中重载OK()函数,   然后   在函数中   将CDialog::OK()这句话注释掉就可了.... 
    还有一种情况是你在按ESC时   page1也会自动消失,这时你要重载CDialog::Cancel()函数就可以屏蔽这个操作....将CDialog::Cancel()这句话注释掉就可了