Cformview create 不支持两个参数
时间: 2024-01-18 16:04:23 浏览: 18
CFormView的Create函数的确只支持一个参数,即资源ID。如果需要传递两个参数,可以重载该函数并自行实现。例如:
```c++
BOOL CMyFormView::Create(LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID, CCreateContext* pContext)
{
if (CFormView::Create(lpszClassName, lpszWindowName, dwStyle, rect, pParentWnd, nID, pContext))
{
// 在这里进行额外的初始化工作
return TRUE;
}
return FALSE;
}
```
这样,我们就可以在创建CFormView时传递两个参数了。
相关问题
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 适用于简单的对话框。