您的位置:首页 > 房产 > 建筑 > MFC常见问题解决

MFC常见问题解决

2024/10/6 18:34:17 来源:https://blog.csdn.net/qingttqing/article/details/140182710  浏览:    关键词:MFC常见问题解决

文章目录

  • 1. 单文档程序初始化显示设置
    • 问题
    • 解决方案
  • 2. MFC中控件响应出错

1. 单文档程序初始化显示设置

问题

在Microsoft Foundation Classes (MFC) 中,单文档应用程序(SDI)的初始化时默认并不设置为最大显示。但你可以通过编程方式在程序启动时将其设置为全屏或最大化。
出现地方:当view的父类采用CFormView时将会出现,随着主视图窗口的对话框的大小呈现主程序大小。

解决方案

可尝试以下几个途径解决:

  1. 在生成程序过程中勾选最大化;
    在这里插入图片描述
  2. 在框架类中添加代码
    在你的SDI应用程序中,通常会有一个继承自CFrameWnd或CMDIFrameWnd(对于具有菜单和工具栏的SDI)的框架类。你可以在这个类的OnCreate或OnInitialUpdate函数中添加代码来最大化窗口。
    在CMainFrame的OnCreate函数中添加:
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{if (CFrameWnd::OnCreate(lpCreateStruct) == -1)return -1;// 在这里添加最大化窗口的代码ShowWindow(SW_MAXIMIZE);return 0;
}
  1. 在视图类中处理
    该视图类的基类是CFormView,,需要注释掉ResizeParentToFit()函数
void CEquipmentLayoutView::OnInitialUpdate()
{CFormView::OnInitialUpdate();GetParentFrame()->RecalcLayout();//ResizeParentToFit();ShowWindow(SW_MAXIMIZE);
}

2. MFC中控件响应出错

原因:控件的ID赋予了相同的数值
解决方案:resource.h文件:这个文件包含了在.rc文件中定义的所有资源的ID编号。在MFC资源编辑之后,每个控件ID都会在这个文件中对应一个值。这些值用于在代码中引用这些控件。将ID的编号进行修改即可。

note:在设置控件的命名和ID的过程中不要按“Enter”键,否则会生成多个冲突的ID编号

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com