社区
界面
帖子详情
MFC界面问题:没有在创建工程师选择splitterwnd,应该如何添加splitterwnd功能?
alphasun
2003-06-23 10:32:41
我添加了相应的代码 CSplitterWnd 等,这些都是从以前的一个splitterwnd里面超过来的(以前的那个程序当然是好使的),但是无法得到splitterwnd,
好像还有别的玄机。
...全文
37
12
打赏
收藏
MFC界面问题:没有在创建工程师选择splitterwnd,应该如何添加splitterwnd功能?
我添加了相应的代码 CSplitterWnd 等,这些都是从以前的一个splitterwnd里面超过来的(以前的那个程序当然是好使的),但是无法得到splitterwnd, 好像还有别的玄机。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
alphasun
2003-06-24
打赏
举报
回复
谢谢大青蛙了,家里的程序搞定了,的确是调用了父类的 OnCreateClient 导致的,我直接 return TRUE 就一切OK了:)
winthegame
2003-06-24
打赏
举报
回复
:)
alphapaopao
2003-06-23
打赏
举报
回复
好奇怪,我现在新创建了一个工程,试了一下,居然可以。
晚上回家再试试那个原来的工程。
谢谢青蛙了。
alphapaopao
2003-06-23
打赏
举报
回复
对了,我的工程是一个MDI,我的splitterwnd 放在child frame 里面,这样做是不是不对啊?我是不是应该把它放到main frame 里面?
winthegame
2003-06-23
打赏
举报
回复
哦.. 为保证没出错,偶是现实验的,所以里面的一些参数是随便添的。你可以根据实际情况修改。
winthegame
2003-06-23
打赏
举报
回复
很简单啊.
我先假定你有三个 view , CEditView, CFormView, CView. 最初默认的是CView.
后来又添加了CTreeView 和CEditView.
那么就 添加 CMainFrame 的成员变量。
CSplitterWnd m_split;
CSplitterWnd m_split1;
重载CMainframe 的 virtual function ( OnCreateClient
在里面把
//创建 1 行 2 列的 splitter
if (!m_split.CreateStatic (this,1,2))
{
TRACE("Create Static Error!");
return FALSE;
}
//创建左视图 CEditView.
if (!m_split.CreateView (0,0,RUNTIME_CLASS(CEditView),CSize(400,400),pContext))
{
TRACE("Can't Create EditView!");
m_split.DestroyWindow ();
return FALSE;
}
//将m_split1 作为 m_split的子成员创建之 2行1列
if (!m_split1.CreateStatic (&m_split,2,1,WS_CHILD|WS_VISIBLE,m_split.IdFromRowCol(0, 1)))
{
return FALSE;
}
//用 m_split1 创建CView
if (!m_split1.CreateView (0,0,pContext->m_pNewViewClass,CSize(0,200),pContext))
{
m_split1.DestroyWindow ();
return FALSE;
}
//创建CTreeView
if (!m_split1.CreateView (1,0,RUNTIME_CLASS(CTreeView),CSize(0,0),pContext))
{
m_split1.DestroyWindow ();
return FALSE;
}
就可以了啊!!
alphapaopao
2003-06-23
打赏
举报
回复
是静态切分的
winthegame
2003-06-23
打赏
举报
回复
你是动态切分还是静态切分啊?
alphasun
2003-06-23
打赏
举报
回复
up
alphapaopao
2003-06-23
打赏
举报
回复
winthegame(120斤重的大青蛙) ( ) :
是啊,是啊,我这个试验程序 的 OnCreateClient 没有调用父类的 OnCreateClient,
直接 return TRUE, 就能出现 splitter wnd。
我家里的那个程序可能调用了 父类的 OnCreateClient,并且将它的返回值返回了,
所以导致 splitterwnd 出不来,呵呵
ripyu
2003-06-23
打赏
举报
回复
看看深入mfc,上面有现成的例子
winthegame
2003-06-23
打赏
举报
回复
呵呵呵,上午忙着写程序去了, 所以没看到了你的回话了,中午吃完了饭,顺便看看。
炮炮, 我也试了试,的确,用MDI 的工程,把CSplitterwnd的通常语句 放在 child frame 里面上面是出现不了的,但放在CMainframe里面感觉明显不对,调试了一下,发现 child frame 的确也调用了CreateClient, 想了半天,怀疑CChildFrame最后默认返回的
return CMDIChildWnd::OnCreateClient(lpcs, pContext); 做了什么手脚,
于是在CChildFrame的OnCreateClient里面直接改为了return TRUE; splitterwnd就出来了,原因还没有深究,但因为CMainFrame, CChildFrame都是调用的CFrmWnd的OnCreateClient,
所以只能怀疑是消息循环的某个原因了,有空再查查了...
Windows游戏编程系列之3:
MFC
界面
编程及游戏案例实战
Windows游戏编程系列之3:
MFC
界面
编程及游戏案例实战 我将带领大家认真学习
MFC
编程的知识,亲手
创建
第一个
MFC
程序,并详细讲解消息映射机制。 然后介绍菜单栏、工具栏,重点讲解对话框、文档视图结构,然后进行...
【
MFC
】如何使用
MFC
?
MFC
如何编写
界面
?
MFC
使用零基础教程
新建
MFC
项目
选择
向导单个文档,取消文档视图结构支持使用经典菜单
选择
CMainFrame类 新建的窗口在哪呢?启动调试开始修改
创建
吧修改一下新建Dialog改窗口ID对应你需要弹出的窗口改窗口的左上角的名字 如何设计窗口...
Visual C++/
MFC
编程入门:如何
创建
对话框类和
添加
控件变量
Xtreme Toolkit Pro:是屡获殊荣的VC
界面
库,是
MFC
开发中最全面
界面
控件套包,它提供了Windows开发所需要的11种主流的Visual C++
MFC
控件,包括Command Bars、Controls、Chart Pro、Calendar、Do
MFC
界面
编程基础(06):简单绘图
从类视图中找到CMainFrame(继承自CFrameWnd),
选择
此类然后从属性面板中找到消息按钮(上图中标示2),在消息列表中找到WM_LBUTTONDOWN消息,
添加
,然后看我们的工程文件中都多了些什么??? 第一处:在框架类...
c++ ——第一个
MFC
界面
闲言碎语4、思来想去,把效果放在文首吧1、
创建
MFC
项目2、搭建
界面
3、配置代码 4、思来想去,把效果放在文首吧 1、
创建
MFC
项目
选择
MFC
应用,下一步,填写项目相关信息,名称和路径。我这里CSDNShowCamera,之后...
界面
15,978
社区成员
115,896
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章