本文详细介绍用WTL实现类似flashget的界面
m_LeftHorzSplitter.GetClientRect( &rcDefault );
m_RightMenuTree.Create( m_LeftHorzSplitter, rcDefault, NULL,
WS_CHILD | WS_VISIBLE | WS_CLIPCHILDREN | WS_CLIPSIBLINGS | TVS_HASLINES |
TVS_LINESATROOT | TVS_SHOWSELALWAYS | TVS_HASBUTTONS | WS_EX_CLIENTEDGE,
0,(HMENU)IDC_RIGHT_TOPMENUTREE);
InitRightTreeView(&m_RightMenuTree,SPLIT_PANE_TOP);
m_BottomMenuTree.Create( m_LeftHorzSplitter, rcDefault, NULL,
WS_CHILD | WS_VISIBLE | WS_CLIPCHILDREN | WS_CLIPSIBLINGS | TVS_HASLINES |
TVS_LINESATROOT | TVS_SHOWSELALWAYS | TVS_HASBUTTONS | WS_EX_CLIENTEDGE,
0,(HMENU)IDC_RIGHT_BOTTOMMENUTREE);
InitRightTreeView(&m_BottomMenuTree,SPLIT_PANE_BOTTOM);
m_LeftHorzSplitter.SetSplitterPanes( m_RightMenuTree, m_BottomMenuTree );
m_LeftHorzSplitter.SetSinglePaneMode(SPLIT_PANE_TOP);5、把下面右边的水平分隔条分成两个ListView视图;
m_RightHorzSplitter.GetClientRect( &rcDefault );
m_InfoListView.Create( m_RightHorzSplitter, rcDefault, NULL,
WS_CHILD | WS_VISIBLE | WS_CLIPCHILDREN | LVS_REPORT,
LVS_EX_FULLROWSELECT,
(HMENU)IDC_INFO_LISTVIEW);
InitBottomListView(&m_InfoListView,SPLIT_PANE_TOP);
m_BottomListView.Create( m_RightHorzSplitter, rcDefault, NULL,
WS_CHILD | WS_VISIBLE | WS_CLIPCHILDREN | LVS_REPORT,
LVS_EX_FULLROWSELECT,
(HMENU)IDC_BOTTOM_LISTVIEW);
InitBottomListView(&m_BottomListView,SPLIT_PANE_BOTTOM);
m_RightHorzSplitter.SetSplitterPanes( m_InfoListView, m_BottomListView );
m_RightHorzSplitter.SetSinglePaneMode(SPLIT_PANE_TOP);6、设置分隔条的位置
//create m_InfoListView
m_HorzSplitter.SetSplitterPos( 200 );
m_VertSplitter.SetSplitterPos( 150 );
m_BottomVertSplitter.SetSplitterPos( 100 );最近工作比较忙,没有对代码做太多优化和整理,只是简单实现了,如果你有不明白的地方,还是自己去思考和修改吧,不要找我询问了,我可能也不会回答。
如果你认为有更好的实现方法,并且把代码修改了,请也发给我一份吧(如果你愿意)^_^!谢谢阅读
WTL做界面确实有很多好处,但是主要不方便的地方是和MFC不能混合使用,所以使用时应认真选择。
作者:TanXin 责编:豆豆技术应用
正在加载评论...