MFC子窗口同时显示

YOULANLAN 2014-08-11 07:42:41
大家好我是小白
先说一下我的环境:
Windows7
vs2013
我想设置一个数据库VC++(MFC)程序,程序的外观如下

一些要求是:
三个子窗口同时显示,相互平等的
三个窗口相邻之间是“粘着”的,即在两个窗口的边界拖动时,肯定使一个变大同时另个相应变小
我的问题是
这个程序应该是单文档还是多文档
每个兄弟窗口是否就是一个Dialog资源
我只道我很小白,我主要想通过这个帖子获取这个vc程序的思路,细节的地方因该由我慢慢探索,请大神们不吝指教。我我现在只看过孙鑫的《VC++深入浅出》水平一般


...全文
229 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
YOULANLAN 2014-08-12
  • 打赏
  • 举报
回复
引用 3 楼 mlqxj35674 的回复:
很好实现,分割视图,一行三列,也可能简化为一个formview代替,只是不能横向拖动
我用了mfc的分割窗口类分割了视图,三个视图都是继承FormView的但是现在出先了一个问题: 我在FormView上放置的控件不知道在哪里初始化OnCreate不行,onInitalUpdata也不行(好像是由于我没有为它绑定DOCument,但是我在里面加了断点视图确实调用了这个方法尽管没有绑定文档) onInitalUpdata代码如下
void CSampleView::OnInitialUpdate()
{
	CFormView::OnInitialUpdate();
	m_pRecordsetSample.CreateInstance(__uuidof(Recordset));
	try
	{
		m_pRecordsetSample = theApp.g_conn->Execute("select * from WOK_Sample", NULL, adCmdText);
	}
	catch (_com_error e)
	{
		CString errormessage;
		errormessage.Format(_T("数据库连接失败!\r\n错误代码:%s"), e.ErrorMessage());
		AfxMessageBox(errormessage);
	}
	m_SampleGrid.putref_DataSource((LPUNKNOWN)m_pRecordsetSample);

	// TODO:  在此添加专用代码和/或调用基类
}
try总是说:无效指针。但是我把这段代码放到一个按钮响应事件就正常; 请问我这个初始化到底应该在那个事件填写 另外m_SampleGrid是HFlexGrid控件
mlqxj35674 2014-08-12
  • 打赏
  • 举报
回复
很好实现,分割视图,一行三列,也可能简化为一个formview代替,只是不能横向拖动
wangyubuct1 2014-08-11
  • 打赏
  • 举报
回复
我也有类似的需求,用的单文档,但是用Dialog怎么控制每个区域的大小啊?一个动了就会影响到边上的。而且这几个对话框是放在视窗口上面吗?用非模态对话框的话,还需要寻找当前活动窗口,很容易出错。 可是用分割窗口的话,又不容易动态修改。唉,等待解决吧。
lx624909677 2014-08-11
  • 打赏
  • 举报
回复
这个界面是单文档多视图的程序,每个窗口可以是一个Dialog也可以是一个View

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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