项目名称是TEST,想将窗口分割成两个,左边是树状目录CTreeView类,右边用来画图,是一般的view类
在OnCreateClient函数中加上:
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs,CCreateContext* pContext)
{
splitter.CreateStatic(this,1,);
splitter.CreateView(0,0,RUNTIME_CLASS(CTreeView),CSize(2000,100),pContext);
splitter.CreateView(0,1,RUNTIME_CLASS(CEMCView),CSize(0,100),pContext);
return true;
}
这样运行时有问题中断:
EMC.exe 中的 0x725c3a66 处未处理的异常: 0xC0000005: 读取位置 0x725c3a66 时发生访问冲突如果把中间两行改为:
splitter.CreateView(0,0,RUNTIME_CLASS(CEMCView),CSize(2000,100),pContext);
splitter.CreateView(0,1,RUNTIME_CLASS(CTreeView),CSize(0,100),pContext);这样就没有问题。
请问为什么呢?
这样树状目录就只能在屏幕的右边了,可是我需要把树状目录放在屏幕左边,这样该怎么实现呢?
在OnCreateClient函数中加上:
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs,CCreateContext* pContext)
{
splitter.CreateStatic(this,1,);
splitter.CreateView(0,0,RUNTIME_CLASS(CTreeView),CSize(2000,100),pContext);
splitter.CreateView(0,1,RUNTIME_CLASS(CEMCView),CSize(0,100),pContext);
return true;
}
这样运行时有问题中断:
EMC.exe 中的 0x725c3a66 处未处理的异常: 0xC0000005: 读取位置 0x725c3a66 时发生访问冲突如果把中间两行改为:
splitter.CreateView(0,0,RUNTIME_CLASS(CEMCView),CSize(2000,100),pContext);
splitter.CreateView(0,1,RUNTIME_CLASS(CTreeView),CSize(0,100),pContext);这样就没有问题。
请问为什么呢?
这样树状目录就只能在屏幕的右边了,可是我需要把树状目录放在屏幕左边,这样该怎么实现呢?
解决方案 »
- 一个比较严重的问题,如何将FTP上下载来的更新程序替换当前正在运行的程序
- 关于程序的一个问题
- MFC CChildFrame得到CMyView指针
- 对话筐如何获得 view
- 如何将一副BMP位图载入并将之画到一个DC上(支持缩放)?给出代码,谢谢!
- 在VC中要显示整个文件,读,写文件用什么控件好?有没有C++Builder中类似的Memo控件可用?
- 如何用recordset 打开stream
- 我用vc生成一个单文档程序,StatusBar上面有个显示我的NumLoce键是否按下的功能,实现这个功能的代码在什么地方啊
- list contro如何l重新设置列数及列名?
- 高手指点:对话框中垂直滚动条无效的问题。
- 面试题20岁的时候家庭有4人。//应该是3个人吧????
- c++调用cplex 未经处理的异常 按F11,无可用源 请教!!急!!
将
pDocTemplate = new CSingleDocTemplate(
IDR_MAINFRAME,
RUNTIME_CLASS(CTESTDoc),
RUNTIME_CLASS(CMainFrame), // 主 SDI 框架窗口
RUNTIME_CLASS(CTESTView)
);
改为
pDocTemplate = new CSingleDocTemplate(
IDR_MAINFRAME,
RUNTIME_CLASS(CTESTDoc),
RUNTIME_CLASS(CMainFrame), // 主 SDI 框架窗口
NULL);
这个能编译通过吗
splitter.CreateStatic(this,1,2);
但是错误不是这个问题。
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
{
// TODO: Add your specialized code here and/or call the base class
splitter.CreateStatic(this,1, 2);
// CNewTreeView派生自CTreeView类
// CEMCView派生自CView类
splitter.CreateView(0,0,RUNTIME_CLASS(CNewTreeView),CSize(200,100),pContext);
splitter.CreateView(0,1,RUNTIME_CLASS(CEMCView),CSize(0,100),pContext); return TRUE;
// return CFrameWnd::OnCreateClient(lpcs, pContext);
}
建议还是调试一下!
splitter.CreateView(0,0,RUNTIME_CLASS(CEMCView),CSize(100,2000),pContext);