Skip to main content

Create Splitting Windows in VC 2005

Add two CSplitterWnd type variables into the MainFrame:

CSplitterWnd m_wndSplitterLM; // split the window to left and middle panel


// Than add the following code into the OnCreateClient Function:

BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT /*lpcs*/,
CCreateContext* pContext)
{
// create a splitter with 1 row, 2 columns
if (!m_wndSplitterLM.CreateStatic(this, 1, 2))
{
TRACE("SpltLR create failed\n");
return false;
}

// add the first splitter pane - the default view in column 0
if (!m_wndSplitterLM.CreateView(0, 0,
RUNTIME_CLASS(CMultiLayerTree), CSize(60, 0), pContext))
{
TRACE0("Failed to create first pane\n");
return FALSE;
}

// add the second splitter pane - which splits the right window into two columns
if (!m_wndSplitterMR.CreateStatic(
&m_wndSplitterLM, // our parent window is the first splitter
1, 2, // the new splitter is 1 rows, 2 column
WS_CHILD | WS_VISIBLE, // style, WS_BORDER is needed
m_wndSplitterLM.IdFromRowCol(0, 1)
// new splitter is in the first row, 2nd column of first splitter
))
{
TRACE0("Failed to create nested splitter\n");
return FALSE;
}

if (!m_wndSplitterMR.CreateView(0, 0,
pContext->m_pNewViewClass, CSize(600, 0), pContext))
{
TRACE0("Failed to create second pane\n");
return FALSE;
}

if (!m_wndSplitterMR.CreateView(0, 1,
RUNTIME_CLASS(CCtrlPanel), CSize(40, 0), pContext))
{
TRACE0("Failed to create third pane\n");
return FALSE;
}


return true;
}

Comments

Popular posts from this blog

(zz) 我为旅行狂---Key West亲情计划 (2009/5/5)

强烈建议各亲朋好友在离开南部之前,到美国最南端的小岛上看一看。体验一下海天相接的极致景致,以及阳光灿烂的明媚心情。给在南部生活的学术生涯点缀一些不一样的心情,留下值得回忆的美好。此次 KW 之行历时 6 天,驱车 38 小时,经过 Pensacola , Miami , Key Largo , Key west , Plam Beach, 以及 Everglades. 除了预计到的长途跋涉辛苦以及晒成麦色的皮肤之外,可以用圆满来形容。特此感谢 YC MM ,其先驱之行起到了至关重要的影响意义。在脑海里只留下一片片的海蓝色之前,先奉献上我们的驱车路线,以便感兴趣的驴友们方便之用。 提前 10 天的时候记得先查天气,千万不要遇到 hurricane 这样的危险情况,这对海边游历是个大忌。我们此次采取西下东上。一路晴空万里,运气甚为好。               4.24           早 6 点出发, 4 个半小时之后到达 pensacola beach. 这片海域的确与众不同,若是以前没有去过,千万不要错过。雪地一般的沙滩,宝石一般的海水,一望无际的天空。最妙的在于那是狭长的海岸,我们 停下车的地方就是小小海道的尽头,像是走进了海的深处,妙不可言。若是允许,最好带上透风较好的帐篷,海风中安睡的感觉值得体验。下午 6 点左右吃过饭,继 续向南前行大概 2 个小时,到达一个不知名小镇安住下来,目的是给明天的 miami 路途节省时间和精力。           4.25           早 9 点出发,史进 Miami 。这段距离大概需要 8 个小时。一路上风景一般,不过还是和家里不同。成片的椰树林也是很养眼的。到达 Miami 的时候已是日暮。若是想去大名鼎鼎的 joy's stone crab 吃著名的 stone crad, 一定记得先去餐厅定上位子。他们生意做的很牛,若是刚好赶上周末,是不给电话定位的。所以要 physically 先去,定上时间。然后去天体浴 场看看裸体的人们以及美丽的日落。差不多华灯初上的时候在 Miami 看看 downtown 的夜景。不过还是不要下车的好。我们在 downtown 看到随随 便便的警察随随便便的拦下别人的车,然后随随便便的拿出枪乱晃。我们吓得不知道该干什么,其他的人

(zz) 我为旅行狂---三周年暨毕业纪念旅行――冰山国家公园(2009/8/13)

2009 年 7 月 31 日 的下午 5:00, 经过三年的艰苦奋战 , 我终于完成了在 MSU 的双硕士征程 . 期间辛苦 , 万般无奈 , 快乐时光都已然默默结尾 . 最好还是不要总结 , 回顾起来太过丰盛 , 不免遐思 . 总归结果很好 , 学习有所终 , 学术有所为 , 学位有所得 , 学仁有所长 , 学外有所丰富的生活 . 很好 . 回归游记本质 . 在熊的 " 耳鬓厮磨 " 和涂同学的诱惑下 , 我们三人与 8 月 1 日 至 10 日进行了一场空前耗时耗体力扩空间的旅行 . 美其名曰毕业纪念旅行 , 为的是不 让自己在疯狂出游的事实面前太过惭愧 . 我安慰自己说 , 反正献身 PhD 之后就不太会有时间这样潇洒了 . 8 月 1 日 : 一整天耗时在空中 , 晚上到达西雅图 . 8 月 2 日 : 白天对大名鼎鼎的 pike place market 进行了全方位考察 . 去之前很多人告诉我们这个 market 超大啊超大 , 大到不可想象 , 里面的东西从吃到穿应有尽有 , 是全美极具特色的另类 market. 我们到了以后 , 的确觉得很大 , 不过其性质完全就像国内的小商品批发市场嘛 . 从海洋一般的花市到鲜品横飞的海鲜市场再到各式各样的饰品衣物 , 整个市场贯穿 seattle downtown 好几个街区 , 最繁华的地段 . 有特色的在于海鲜市场里鲜品的买卖是靠人们徒手抛货物完成的 , 这个成为了一大看点 . 不经意的熙熙攘攘了 , 就会 有各种大小的鱼类从你头顶飞过来飞过去 . 所以这个市场也叫飞鱼市场 .                       晚上 , 我们乘坐 amtrack, 经过 10 几个小时的忍耐 , 于次日到达了蒙大拿印地安区 , 冰山国家公园 .                       8 月 3 日 : 修整队伍 , 入住 , 了解地形 , 补充登山装备及能量 .                       8 月 4 日 : 征服来回 12mile 的山路 , 耗时 7 个半小时 , 成功看到了传说中的冰湖奇观 : Glacier Grinell Lake. 震撼 , 还是震撼 ! 上山一行的感受还好 , 除了山路旁边没有护栏 , 一路上都是悬崖峭壁之外 , 野花

人权与主权

前些天看到一个,讲测定一个人的政治倾向。其中有一道题选择说是: “人权高于主权” 还是 “主权高于人权”。 博主说博主本人选择是“人权高于主权”,可是博主国内的的父亲却选择是“主权高于人权”。 其实这根本就是一个伪命题,茶余饭后聊聊,口水战一下还可以。可是要是仔细追究起来,恐怕事实上美国国家都采用的是“主权高于人权”的行为。打个比方说,现在很多国家的人民都想加入美国,拥有美国国籍。如果我们把人权定义为:人有追求自由,幸福的权利。那么这些想加入美国国籍的人们的意愿就是人权的范畴。那人权是不是要高于主权呢?我想大家都知道,因为美国的主权关系,美国要审查你的资格。如果能为美国所用,美国欢迎你加入;如果不是,恐怕就很难咯。 当年日本侵华打的旗号是建立大东亚共荣圈,只是没有民主那么好听而已。