[存档]浅谈:切换视时基于FormView的对话框属性设置与ASSERT报错的问题

转载 2006年06月13日 19:26:00

这是在做EVC的作业时碰到的问题,查到的文章,存个档~~~

最近做的项目中用到了FormView切换视图,其主要原理是:先新建一些Dialog对话框,然后给这些对话框绑定对应的View,注意:这些View要基于FormView。
      一开始还好好的,利用切换视的代码进行的很顺利(网上的相关代码很多,我就不赘述了),但是,后来新加了两个Dialog,不知我怎么弄的,奇怪的事发生了:先前添加了Dialog都能正常的切换,但是,一切换新添加的Dialog,每次运行到:

BOOL CFormView::Create(LPCTSTR /*lpszClassName*/, LPCTSTR /*lpszWindowName*/,
 DWORD dwRequestedStyle, const RECT& rect, CWnd* pParentWnd, UINT nID,
 CCreateContext* pContext)
{
 ASSERT(pParentWnd != NULL);
 ASSERT(m_lpszTemplateName != NULL);

 m_pCreateContext = pContext;    // save state for later OnCreate

#ifdef _DEBUG
 // dialog template must exist and be invisible with WS_CHILD set  <——请注意此处
 if (!_AfxCheckDialogTemplate(m_lpszTemplateName, TRUE))
 {
  ASSERT(FALSE);          // invalid dialog template name    
  PostNcDestroy();        // cleanup if Create fails too soon     
  return FALSE;
 }
#endif //_DEBUG


中的ASSERT时就报错,而在Release版本下却不会报错。我检查了一下这两个新加的Dialog与先前的Dialog属性有哪些不同,原来是自己把后来加的Dialog的Visible属性设置成了TRUE了, 根据代码的要求是:对话框模板必须存在,属性要设置成不可见和子窗口风格。SystemMenu和TitleBar属性最好都设为False,改完以后,一切正常~~
注:还有一种方法就是在添加Dialog资源时,在Dialog列表上点右键->添加资源,选择Dialog->IDD_FORMVIEW,再点“新建”按钮,这样新建出来的Dialog属性就会自动配好了

MFC中跨线程UpdateData(FALSE)报错 ASSERT FAILD问题

文章来自:http://hi.baidu.com/yu_xiyan/item/27f82bf1a1cc0813d7ff8c8c MFC程序,在给控件关联的变量赋值后,需要调用UpdateData(F...

浅谈FineReport常用函数及使用时报错的解决办法

文本函数 CHAR CHAR(number):根据指定数字返回对应的字符。CHAR函数可将计算机其他类型的数字代码转换为字符。 Number:用于指定字符的数字,介于1Number:...

报错No mapping found for HTTP request with URI、实现蒙纱,弹出对话框利用load 、编码问题、 jQ的data绑定数据等等遇到的问题

写完报错No mapping found for HTTP request with URI等等项目中遇到的问题记录下

解决我的开源代码里面的前一篇后一篇的跳页问题,由于时间关系我不发图了,存储过程没有更改,我改进了一下报错功能,用来重新定义属性

解决我的开源代码里面的前一篇后一篇的跳页问题,由于时间关系我不发图了,存储过程没有更改,我改进了一下报错功能,用来重新定义属性,大家努力吧!我这个项目这个月就上线了!加油喽!呵呵!...

用对话框作为主窗口;IDD_FORMVIEW资源文件;

转自:http://blog.csdn.net/tcjiaan/article/details/8567053 前面我们在编写Win32应用程序的思路都是: 1、设计窗口类。2、注册窗...

子线程新建Handler为什么会报错?——浅谈Handler,Looper,Message之间的关系

引言:很多人都知道不能再在子线程new一个Handler,android会报错,至于为什么会报错,并没有作深入的研究,今天一起来研究一下,顺手学习下android异步消息处理机制的问题。 在...

子线程新建Handler为什么会报错?——浅谈Handler、Looper、Message关系

转载注明出处:http://blog.csdn.net/u010181592/article/category/5893483文章出自 我不只是看客的博客很多人都知道不能直接在子线程new 一个Han...

浅谈Chrome开发者工具--- Console面板与常见报错类型

Console面板在学习JS之后,Console面板就成了我离不开的工具。在我们的程序无法达到我们所期望的效果时候,就可以在Console面板上调试我们的程序。在面板上,除了报错以外,还可以打印出我们...

Formview单文档或对话框项目接受不到按键消息的解决办法

当对话框或formview界面上有控件时,由于焦点在控件上,因此wm_char,wm_keydown等按键消息会被控件捕获,而导致对话框或formview无法接受该类按键消息。这时候通常的解决方法是在...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[存档]浅谈:切换视时基于FormView的对话框属性设置与ASSERT报错的问题
举报原因:
原因补充:

(最多只允许输入30个字)