想做一个学生管理系统,关于窗口切分

蜗牛a灬 2011-12-14 11:19:53
想做成这样的切分窗口,左边显示list列表,右边是操作的按钮,不知道怎么做出来


初学的,跟着书上照葫芦画瓢,切分文档

BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
{
// TODO: Add your specialized code here and/or call the base class
CRect rc;
GetClientRect(rc);
CSize paneSize(rc.Width ()/2-16,rc.Height ()/1-16);
m_wndSplitter.CreateStatic (this,1,2);
m_wndSplitter.CreateView (0,0,RUNTIME_CLASS(CDemoView),CSize(450,250),pContext);
m_wndSplitter.CreateView (0,1,RUNTIME_CLASS(CDemoView),paneSize,pContext);

//return CFrameWnd::OnCreateClient(lpcs, pContext);

return TRUE;
}

然后分出来这个样子,不知道怎么修改?
...全文
146 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
向立天 2012-01-12
  • 打赏
  • 举报
回复
您好
我是本版版主
此帖已多日无人关注
请您及时结帖
如您认为问题没有解决可按无满意结帖处理
另外本版设置了疑难问题汇总帖
并已在版面置顶
相关规定其帖子中有说明
您可以根据规定提交您帖子的链接
如您目前不想结帖只需回帖说明
我们会删除此结帖通知

见此回复三日内无回应
我们将强制结帖
相关规定详见界面界面版关于版主结帖工作的具体办法
蜗牛a灬 2011-12-14
  • 打赏
  • 举报
回复
蜗牛a灬 2011-12-14
  • 打赏
  • 举报
回复
IMPLEMENT_DYNCREATE(CCaozuoView, CFormView)

CCaozuoView::CCaozuoView()
: CFormView(CCaozuoView::IDD)
{
//{{AFX_DATA_INIT(CCaozuoView)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
}


然后分割的时候
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
{
// TODO: Add your specialized code here and/or call the base class
CRect rc;
GetClientRect(rc);
CSize paneSize(rc.Width ()/2-16,rc.Height ()/1-16);
m_wndSplitter.CreateStatic (this,1,2);
m_wndSplitter.CreateView (0,0,RUNTIME_CLASS(CDemoView),CSize(450,250),pContext);
m_wndSplitter.CreateView (0,1,RUNTIME_CLASS(CCaozuoView),CSize(15,25),pContext);

//return CFrameWnd::OnCreateClient(lpcs, pContext);

return TRUE;
}

这样就编译的时候就 终止,重试,忽略 的提示了
蜗牛a灬 2011-12-14
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 yayafu 的回复:]

VC6->Insert菜单->New Class,填好类名,选好基类点OK
[/Quote]
用CFormView后,新建类,好像要绑定一个对话框,但是我绑定了之后,编译就 提示 终止,重试,忽略那样的对话框了
mayudong1 2011-12-14
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 a375474942 的回复:]
引用 2 楼 mayudong1 的回复:

当然,前提是你得先插入两个新的视图
像图片上说的,一个是基于CListView的,一个是基于CFormView的

不是很懂,不知道怎么建,能不能说清楚一点,怎么建?
[/Quote]

添加新类,基类选择CFormView或者CListView或者其他你需要的基类
yayafu 2011-12-14
  • 打赏
  • 举报
回复
VC6->Insert菜单->New Class,填好类名,选好基类点OK
yayafu 2011-12-14
  • 打赏
  • 举报
回复
一个是基于CListView的,一个是基于CFormView的可以,也可以两个都用CFormView,在左边的视图中加入ListControl
蜗牛a灬 2011-12-14
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 mayudong1 的回复:]

当然,前提是你得先插入两个新的视图
像图片上说的,一个是基于CListView的,一个是基于CFormView的
[/Quote]
不是很懂,不知道怎么建,能不能说清楚一点,怎么建?
mayudong1 2011-12-14
  • 打赏
  • 举报
回复
当然,前提是你得先插入两个新的视图
像图片上说的,一个是基于CListView的,一个是基于CFormView的
mayudong1 2011-12-14
  • 打赏
  • 举报
回复
m_wndSplitter.CreateView (0,0,RUNTIME_CLASS(CDemoView),CSize(450,250),pContext);
m_wndSplitter.CreateView (0,1,RUNTIME_CLASS(CDemoView),paneSize,pContext);

把第二个视图改成以CFormView为基类的视图,就可以像对话框一样操作它了
afairycell 2011-12-14
  • 打赏
  • 举报
回复
断点调试下到那步错了??是不是没生成相关类。。貌似没啥错误。。
afairycell 2011-12-14
  • 打赏
  • 举报
回复
if (!m_wndSplitter.CreateStatic(this,1,2))
{
return FALSE;
}
CRect rect;
GetClientRect(rect);

if (!m_wndSplitter.CreateView(0,0,RUNTIME_CLASS(CTreeList),CSize(180,800),pContext)
||!m_wndSplitter.CreateView(0,1,RUNTIME_CLASS(CDefault),CSize(200,800),pContext))
{
m_wndSplitter.DestroyWindow();
return FALSE;
}

15,980

社区成员

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

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