急!!!!mfc,FormView问题!!!

Apeipo 2010-01-08 09:52:18
首先建立MFC AppWizard(exe),取名字为SplitterWnd,下一步,选择单文档“Single document”,其他默认,点击“完成”。
点击ResourceView,在Dialog下插入一个Dialog,ID为“IDD_FORMVIEW1"

右击对话框->属性->Styles标签:左边设置Style为Child 和Border为None

右击ClassView,添加1个类,名字叫FormView1,ClassStyle为CFormView,类名为CChildView,
base类选择CFormView,Dialog ID选择“IDD_FORMVIEW1"..

编译,运行,就弹出下面这个对话框...点了确定以后才执行程序....
|--------------------|
|新建 确定 |
|ChildView 取消 |
|CMFCView |
|--------------------|

怎样不要这个东西啊.....
...全文
335 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Apeipo 2010-01-11
  • 打赏
  • 举报
回复
谢谢了.
schlafenhamster 2010-01-09
  • 打赏
  • 举报
回复
如果add了2个Template就会问你产生哪个。
schlafenhamster 2010-01-09
  • 打赏
  • 举报
回复
单文档只能有一个pDocTemplate
Apeipo 2010-01-08
  • 打赏
  • 举报
回复
我的Init函数是这样子的
我照您的样子改并没有效果,,还是出现那个对话框..
然后我自己试了一下..发现把下面叹号包起来那两段,注释掉其中一段就不会弹那个对话框了...
这是为什么....注释了之后会出什么问题么...
谢谢了..
BOOL CSplitterWndApp::InitInstance()
{


!!!!! { // BLOCK: doc template registration
// Register the document template. Document templates serve
// as the connection between documents, frame windows and views.
// Attach this form to another document or frame window by changing
// the document or frame class in the constructor below.
CSingleDocTemplate* pNewDocTemplate = new CSingleDocTemplate(
IDR_CHILDVIEW_TMPL,
RUNTIME_CLASS(CSplitterWndDoc), // document class
RUNTIME_CLASS(CMainFrame), // frame class
RUNTIME_CLASS(CChildView)); // view class
AddDocTemplate(pNewDocTemplate);
!!!!! }

AfxEnableControlContainer();

// Standard initialization
// If you are not using these features and wish to reduce the size
// of your final executable, you should remove from the following
// the specific initialization routines you do not need.

#ifdef _AFXDLL
Enable3dControls(); // Call this when using MFC in a shared DLL
#else
Enable3dControlsStatic(); // Call this when linking to MFC statically
#endif

// Change the registry key under which our settings are stored.
// TODO: You should modify this string to be something appropriate
// such as the name of your company or organization.
SetRegistryKey(_T("Local AppWizard-Generated Applications"));

LoadStdProfileSettings(); // Load standard INI file options (including MRU)

// Register the application's document templates. Document templates
// serve as the connection between documents, frame windows and views.

!!! CSingleDocTemplate* pDocTemplate;
pDocTemplate = new CSingleDocTemplate(
IDR_MAINFRAME,
RUNTIME_CLASS(CSplitterWndDoc),
RUNTIME_CLASS(CMainFrame), // main SDI frame window
RUNTIME_CLASS(CSplitterWndView));
!!! AddDocTemplate(pDocTemplate);

// Parse command line for standard shell commands, DDE, file open
CCommandLineInfo cmdInfo;
ParseCommandLine(cmdInfo);

// Dispatch commands specified on the command line
if (!ProcessShellCommand(cmdInfo))
return FALSE;

// The one and only window has been initialized, so show and update it.
m_pMainWnd->ShowWindow(SW_SHOW);
m_pMainWnd->UpdateWindow();

return TRUE;
}

Apeipo 2010-01-08
  • 打赏
  • 举报
回复
这是我发的第二个帖子,昨天发了个帖子别人看不懂什么问题,没人回..所以结帖率为0。。

谢谢大家了,我实在找不出是什么问题,网上查夜不知道搜什么.....
schlafenhamster 2010-01-08
  • 打赏
  • 举报
回复
class CChildView : public CFormView//没问题。
BOOL CXxxxApp::InitInstance()
{
CSingleDocTemplate* pDocTemplate;
pDocTemplate = new CSingleDocTemplate(
IDR_MAINFRAME,
RUNTIME_CLASS(CXxxxDoc),
RUNTIME_CLASS(CMainFrame), // main SDI frame window
RUNTIME_CLASS(CChildView));
AddDocTemplate(pDocTemplate);

}
Apeipo 2010-01-08
  • 打赏
  • 举报
回复
这样正常的...没那东西....

我用了MSDN分割窗口的例子viewex,运行,也会弹那个对话框.....

下别人的例子也是....~~只要用向导从CFormView继承类,并指定对话框...就会弹出那东西...
schlafenhamster 2010-01-08
  • 打赏
  • 举报
回复
"首先建立MFC AppWizard(exe),取名字为SplitterWnd,下一步,选择单文档“Single document”,其他默认,点击“完成”。"后执行看看。

15,980

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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