anygl2007 2015-02-01 15:59 采纳率: 0%
浏览 1456

MFC窗口分割问题,望大神予以小弟指导,感激涕零

参照MFC分割窗的事例进行了窗口分割的工作,但是遇到了只能对第二个窗口进行分割的问题,分割结果如图1,图片说明,但现在想实现第一行为一整行,第二行分为两列。本人初步接触MFC,希望知情人予以解答,在此感激不尽。
分割代码如下:

if (m_splitter.CreateStatic(this, 2, 1) == NULL)
    return FALSE;
m_splitter.CreateView(0, 0, RUNTIME_CLASS(CSplitterWndView), CSize(960, 200), pContext);

//m_splitter.CreateView(1, 0, RUNTIME_CLASS(FormView1), CSize(0, 0), pContext);
if (m_splitter1.CreateStatic(&m_splitter, 1, 2, WS_CHILD | WS_VISIBLE, m_splitter.IdFromRowCol(1, 0)) == NULL)
    return FALSE; ///将第0行0列再分开1行2列 
//将FormView1类连接到第二个分栏对象的0行0列
m_splitter1.CreateView(0, 0, RUNTIME_CLASS(FormView1), CSize(960, 0), pContext);

m_splitter1.CreateView(0, 1, RUNTIME_CLASS(FormView2), CSize(0, 0), pContext);

return TRUE;
  • 写回答

2条回答 默认 最新

  • huzunbo 2015-02-02 01:38
    关注

    // 将当前窗口分成2行1列
    if (m_splitter.CreateStatic(this, 2, 1) == NULL)
    return FALSE;

    // 在第一行第一列(索引是0,0)中嵌入CSplitterWndView窗口,大小为960, 200
    m_splitter.CreateView(0, 0, RUNTIME_CLASS(CSplitterWndView), CSize(960, 200), pContext);

    //m_splitter.CreateView(1, 0, RUNTIME_CLASS(FormView1), CSize(0, 0), pContext);
    // 将第二行第一列(索引是1,0)分割成一行2列
    if (m_splitter1.CreateStatic(&m_splitter, 1, 2, WS_CHILD | WS_VISIBLE, m_splitter.IdFromRowCol(1, 0)) == NULL)
    return FALSE; ///将第0行0列再分开1行2列
    //将FormView1类连接到第二个分栏对象的0行0列
    // 将FormView1类连接到第二个分栏对象的1行1列(索引是0,0) -- 也就是整体窗口的第2行第1列,大小是960,0。
    m_splitter1.CreateView(0, 0, RUNTIME_CLASS(FormView1), CSize(960, 0), pContext);

    // 将FormView1类连接到第二个分栏对象的1行2列(索引是0,0) -- 也就是整体窗口的第2行第2列,大小是0,0。
    m_splitter1.CreateView(0, 1, RUNTIME_CLASS(FormView2), CSize(0, 0), pContext);

    return TRUE;

    每看明白你描述的意思。给你加一下详细的注释说明,看看有没有帮助

    评论

报告相同问题?

悬赏问题

  • ¥15 如何用stata画出文献中常见的安慰剂检验图
  • ¥15 c语言链表结构体数据插入
  • ¥40 使用MATLAB解答线性代数问题
  • ¥15 COCOS的问题COCOS的问题
  • ¥15 FPGA-SRIO初始化失败
  • ¥15 MapReduce实现倒排索引失败
  • ¥15 ZABBIX6.0L连接数据库报错,如何解决?(操作系统-centos)
  • ¥15 找一位技术过硬的游戏pj程序员
  • ¥15 matlab生成电测深三层曲线模型代码
  • ¥50 随机森林与房贷信用风险模型