Cformview Onsize一直再函数里出不去

时间: 2023-11-21 18:05:35 浏览: 41
CFormView::OnSize() 是一个重要的消息处理函数,负责处理窗口大小变化的消息。如果在该函数中出现问题,可能是由于代码逻辑错误或者其他原因导致的。以下是一些可能导致无法退出OnSize函数的原因: 1. 死循环:如果在OnSize函数中出现了死循环,那么程序会一直卡在该函数中,无法正常退出。 2. 锁死:如果在OnSize函数中使用了某些资源,但是没有正确释放,可能会导致该资源被锁死,导致函数无法退出。 3. 异常:如果在OnSize函数中出现了异常,可能会导致程序崩溃或者无法正常退出。 建议您检查代码逻辑,确保没有死循环和资源锁死等问题,并且可以在代码中加入调试信息,以便更好地定位问题所在。
相关问题

Cformview Onsize 用法

CFormView::OnSize() 函数是在窗口大小改变时被调用的方法。它通常被用来重新布局和调整窗口中的控件大小。在 MFC 中,CFormView 类是用来创建带有表单的视图的。因此,当窗口大小改变时,CFormView::OnSize() 函数通常被用来重新布局和调整表单视图中的控件大小和位置,以适应新的窗口大小。 以下是 CFormView::OnSize() 函数的用法示例: ``` void CMyFormView::OnSize(UINT nType, int cx, int cy) { CFormView::OnSize(nType, cx, cy); // 重新调整表单视图中的控件大小和位置 // 根据新的窗口大小 // ... } ``` 在这个示例中,当窗口大小改变时,CMyFormView::OnSize() 函数会调用基类 CFormView::OnSize() 函数来处理默认的窗口大小改变逻辑。然后,它会重新调整表单视图中的控件大小和位置,以适应新的窗口大小。

Cformview在哪个函数里加载dialog的

CFormView类的窗口是在CFormView::OnInitialUpdate()函数中创建的,该函数在窗口第一次显示之前被调用。在OnInitialUpdate()函数中,会调用CFormView::DoDataExchange()函数将控件和变量进行关联,并且调用CFormView::UpdateData()函数将变量的值更新到控件上。 如果需要在CFormView中加载Dialog资源,可以重载CFormView::OnInitialUpdate()函数,并在该函数中调用CDialog::Create()函数来创建Dialog窗口。例如: ```c++ void CMyFormView::OnInitialUpdate() { CFormView::OnInitialUpdate(); // 加载Dialog资源 m_pDialog = new CMyDialog(); m_pDialog->Create(IDD_MY_DIALOG, this); // 将Dialog窗口添加到FormView中 CWnd* pWnd = GetDlgItem(IDC_MY_PLACEHOLDER); CRect rect; pWnd->GetWindowRect(&rect); ScreenToClient(&rect); m_pDialog->SetWindowPos(&wndTop, rect.left, rect.top, rect.Width(), rect.Height(), SWP_SHOWWINDOW); } ``` 这里的m_pDialog是CMyDialog类的成员变量,用于保存Dialog窗口的指针。在OnInitialUpdate()函数中,我们先创建了一个CMyDialog对象,并调用Create()函数创建Dialog窗口。然后,我们使用GetDlgItem()函数获取一个在FormView中用于占位的控件,将它的位置和大小作为Dialog窗口的位置和大小,并将Dialog窗口移到该位置。最后,我们调用SetWindowPos()函数将Dialog窗口设置为在FormView中最上层,并显示出来。

相关推荐

在MFC中,CFormView类可以通过资源ID来关联一个对话框模板,也可以通过代码动态创建一个对话框。当CFormView对象被创建时,它会自动调用Create函数,该函数会根据资源ID或代码动态创建一个对话框,并将其作为CFormView的子窗口。 如果你想更换已经加载好的dialog,可以先在资源编辑器中创建一个新的对话框模板,然后在CFormView的派生类中添加一个成员变量来保存对话框的指针。在需要更换对话框的地方,调用DestroyWindow函数销毁当前的对话框,然后调用Create函数创建新的对话框,并将其作为CFormView的子窗口。 举个例子,如果我们在CFormView的派生类中需要更换一个名为MyDialog2的对话框,可以使用以下代码: 复制 void CMyFormView::OnButtonClicked() { // 销毁当前的对话框 GetDlgItem(IDC_DIALOG)->DestroyWindow(); // 创建一个 MyDialog2 对话框 CMyDialog2* pDlg = new CMyDialog2(); pDlg->Create(IDD_MY_DIALOG2, this); // 将 MyDialog2 对话框作为子窗口添加到 CFormView 中 pDlg->SetWindowPos(NULL, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER | SWP_SHOWWINDOW); } 在这个例子中,我们在OnButtonClicked函数中先调用DestroyWindow函数销毁当前的对话框,然后动态创建一个名为pDlg的CMyDialog2对象,并调用Create函数创建MyDialog2对话框。最后,我们调用SetWindowPos函数将MyDialog2对话框作为子窗口添加到CFormView中,并设置其显示位置和大小。这样,就完成了更换对话框的操作。

最新推荐

recommend-type

VS2019中没有CFormView的解决办法.docx

VS2019创建MFC类,没有CFormView,自己手动创建类,并手写继承。 自己新建CDisplayView.h和CDisplayView.cpp文件,文档附代码。
recommend-type

VC++ CFormView 界面入门

本人刚开始学习VC++,属于菜鸟级别,所以此文档适合刚刚学习VC++,大家共勉了
recommend-type

VC++常用的共用函数100多页

◆如何隐藏进程(在系统状态栏和进程列表里不可见)◆ 31 ◆如何得到一个确定大小的视?◆ 31 ◆如何实现点击窗口任意地方拖动窗口?◆ 32 ◆如何在启动时阻止MDI应用程序创建一个新文档?◆ 33 ◆如何在多文档MFC程序...
recommend-type

什么是yolov10,简单举例.md

YOLOv10是一种目标检测算法,是YOLO系列算法的第10个版本。YOLO(You Only Look Once)是一种快速的实时目标检测算法,能够在一张图像中同时检测出多个目标。
recommend-type

shufflenet模型-图像分类算法对动态表情分类识别-不含数据集图片-含逐行注释和说明文档.zip

shufflenet模型_图像分类算法对动态表情分类识别-不含数据集图片-含逐行注释和说明文档 本代码是基于python pytorch环境安装的。 下载本代码后,有个环境安装的requirement.txt文本 如果有环境安装不会的,可自行网上搜索如何安装python和pytorch,这些环境安装都是有很多教程的,简单的 环境需要自行安装,推荐安装anaconda然后再里面推荐安装python3.7或3.8的版本,pytorch推荐安装1.7.1或1.8.1版本 首先是代码的整体介绍 总共是3个py文件,十分的简便 且代码里面的每一行都是含有中文注释的,小白也能看懂代码 然后是关于数据集的介绍。 本代码是不含数据集图片的,下载本代码后需要自行搜集图片放到对应的文件夹下即可 在数据集文件夹下是我们的各个类别,这个类别不是固定的,可自行创建文件夹增加分类数据集 需要我们往每个文件夹下搜集来图片放到对应文件夹下,每个对应的文件夹里面也有一张提示图,提示图片放的位置 然后我们需要将搜集来的图片,直接放到对应的文件夹下,就可以对代码进行训练了。 运行01生成txt.py,
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

深入了解MATLAB开根号的最新研究和应用:获取开根号领域的最新动态

![matlab开根号](https://www.mathworks.com/discovery/image-segmentation/_jcr_content/mainParsys3/discoverysubsection_1185333930/mainParsys3/image_copy.adapt.full.medium.jpg/1712813808277.jpg) # 1. MATLAB开根号的理论基础 开根号运算在数学和科学计算中无处不在。在MATLAB中,开根号可以通过多种函数实现,包括`sqrt()`和`nthroot()`。`sqrt()`函数用于计算正实数的平方根,而`nt
recommend-type

react的函数组件的使用

React 的函数组件是一种简单的组件类型,用于定义无状态或者只读组件。 它们通常接受一个 props 对象作为参数并返回一个 React 元素。 函数组件的优点是代码简洁、易于测试和重用,并且它们使 React 应用程序的性能更加出色。 您可以使用函数组件来呈现简单的 UI 组件,例如按钮、菜单、标签或其他部件。 您还可以将它们与 React 中的其他组件类型(如类组件或 Hooks)结合使用,以实现更复杂的 UI 交互和功能。
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。