Cformview create 不支持两个参数
时间: 2024-01-18 20:04:23 浏览: 24
非常抱歉,我的回答有误。您是正确的,CFormView的Create方法只支持一个参数,即Dialog模板资源ID。
如果想要重新加载一个新的Dialog窗口,可以使用以下方法:
1. 销毁旧的Dialog窗口:
```cpp
DestroyWindow();
```
2. 加载新的Dialog模板资源:
```cpp
BOOL bCreated = Create(IDD_NEW_DIALOG, GetParent());
```
3. 如果Create方法返回TRUE,说明新的Dialog窗口创建成功。此时,可以更新UI控件等:
```cpp
if (bCreated)
{
// 更新UI控件等
// ...
}
```
需要注意的是,如果在该派生类中重写了OnInitialUpdate方法,需要在重新加载新的Dialog窗口后手动调用OnInitialUpdate方法,以便更新UI控件等。
相关问题
Cformview Onsize一直再函数里出不去
CFormView::OnSize() 是一个重要的消息处理函数,负责处理窗口大小变化的消息。如果在该函数中出现问题,可能是由于代码逻辑错误或者其他原因导致的。以下是一些可能导致无法退出OnSize函数的原因:
1. 死循环:如果在OnSize函数中出现了死循环,那么程序会一直卡在该函数中,无法正常退出。
2. 锁死:如果在OnSize函数中使用了某些资源,但是没有正确释放,可能会导致该资源被锁死,导致函数无法退出。
3. 异常:如果在OnSize函数中出现了异常,可能会导致程序崩溃或者无法正常退出。
建议您检查代码逻辑,确保没有死循环和资源锁死等问题,并且可以在代码中加入调试信息,以便更好地定位问题所在。
创建一个继承cformview 的Dialog和继承CDIALOG有什么区别
继承 CFormView 的对话框和继承 CDialog 的对话框之间有以下几点区别:
1. CFormView 可以包含控件,而 CDialog 不能。因此,CFormView 可以用于创建具有复杂界面的对话框,而 CDialog 适用于简单的对话框。
2. CFormView 可以用于实现基于文档/视图架构的应用程序,因为它是视图类,可以与文档类关联。而 CDialog 不是视图类,不能与文档类关联。
3. CFormView 可以响应 WM_INITDIALOG 消息,而 CDialog 不可以。WM_INITDIALOG 是在对话框创建后发送给对话框的第一个消息,可以用于执行一些初始化工作。
4. CFormView 的 OnOK 和 OnCancel 函数会自动调用 UpdateData 函数,从控件中读取数据并将其保存到视图类中。而 CDialog 需要手动调用 UpdateData 函数来完成这些操作。
总之,CFormView 适用于需要具有复杂界面和与文档类关联的对话框,而 CDialog 适用于简单的对话框。