PreCreateWindow生成主框架窗口时出错

xiangmingduan 2009-01-05 10:34:40
在visual studio 2008中,我生成了一个单文档视图程序。程序编译能通过,但执行到CMainFrame::PreCreateWindow时,在
if( !CFrameWnd::PreCreateWindow(cs) )处出错,再跟踪到CWnd::PreCreateWindow,发现cs很多数据为空,致使断言出错。我找了很久也没有找到原因,哪位经历过的或知道的请告诉我。另外,怎么结帖啊?
...全文
70 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiangmingduan 2009-01-14
  • 打赏
  • 举报
回复
在Release中没有问题
xiangmingduan 2009-01-13
  • 打赏
  • 举报
回复
在基类CWnd的PreCreateWindow就出错了。有经验的告诉一下。
xiangmingduan 2009-01-07
  • 打赏
  • 举报
回复
我先Clean Solution,再Rebuild Solution,还是那个问题。我记得系统提示过说.pdb文件损坏,所以我还手动把.pdb文件删掉后再Rebuild。
oyljerry 2009-01-06
  • 打赏
  • 举报
回复
代码要没变,就rebuild试试
xiangmingduan 2009-01-06
  • 打赏
  • 举报
回复
程序原来运行良好。我在Visual Studio 2008中注入的Visual AssistantX中把鼠标移到菜单Surround With VA Snippet,2008进入长时间等待,我只好关掉2008,在提示结束程序或到消中选择结束程序。还不知道这样会不会影响程序?代码其实没有改变,还是系统缺省的代码,因为我后来把修改的部分全部删掉了。运行到第一句就出错了。代码如下:
BOOL C3DVMainFrame::PreCreateWindow(CREATESTRUCT& cs)//设置窗口属性
{
if( !CFrameWnd::PreCreateWindow(cs) )
return FALSE;
// TODO: Modify the Window class or styles here by modifying

return TRUE;

// the CREATESTRUCT cs
int xSize=::GetSystemMetrics(SM_CXSCREEN);
//得到窗口客户区的宽度
int ySize=::GetSystemMetrics(SM_CYSCREEN);
//得到窗口客户区的高度

//cs 对象的四个参数 cx,cy,x,y 的分别的作用
cs.cx=xSize;
//cs.cx 为客户区的高度
cs.cy=ySize;
//cs.cy 为客户区的宽度
// cs.x=(xSize-cs.cx)/2;
//cs.x 为客户区的左上角 X 坐标
// cs.y=(ySize-cs.cy)/2;
//cs.y 为客户区的左上角 Y 坐标

// cs.style&=~FWS_ADDTOTITLE;
//从应用程序的标题栏中删除文档标题---看标题变化
// cs.style&=~(WS_MAXIMIZEBOX|WS_MINIMIZEBOX);
//从应用程序标题栏中去掉最小化和最大化按钮
cs.style&=~WS_THICKFRAME;
//应用程序的大小固定且不可改变

return TRUE;
}
菜牛 2009-01-05
  • 打赏
  • 举报
回复
把你修改的代码贴出。

16,466

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧