MFC的窗口显示问题

桃家山小邓 2017-05-04 07:03:32
class AFX_EXT_CLASS HCtrl : public CCmdTarget //控件基类
{
protected:
DECLARE_DYNCREATE(HCtrl) // 获取类名
public:
HCtrl();
HCtrl(LPCRECT prc); // 添加子控件。HCtrl * pParent:父控件,LPCRECT prc: 控件区域。
virtual ~HCtrl();
virtual void initCtrl(); // 窗口建立完毕后初始化,还没有显示窗口
protected:
CArray<HCtrl*> m_arChildren; // 所有子控件
HCtrl * m_pParent; // 父控件

void HCtrl::addCtrl( HCtrl * pCtrl ) // 公开的添加方法。
{
if( m_arChildren.IsEmpty() )
m_arChildren.SetSize( 0, 20 ); // 第一次添加时预留20个元素,避免内存碎片
pCtrl->m_pParent = this;
m_arChildren.Add( pCtrl );
}
问题:
HCtrl m_ctrFrame;
// 工具栏控件
m_pPanlCtr = new PanlCtr( CRect(0, 0, 380, 0) ); // 在onsize中自适应大小
m_pPanlCtr->setDock( HDOCK_RIGHT | HDOCK_FULLVERTICAL ); // 停靠右边,垂直方向自动充满
m_pPanlCtr->setBackColor(0x776655);
m_ctrFrame.addCtrl( m_pPanlCtr );

为什么就这一段代码就可以将m_pPanlCtr 显示在m_ctrFrame中去呢?
...全文
180 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
桃家山小邓 2017-05-05
  • 打赏
  • 举报
回复
引用 1 楼 oyljerry 的回复:
m_pPanlCtr = new PanlCtr( CRect(0, 0, 380, 0) ); // 在onsize中自适应大小 m_pPanlCtr->setDock( HDOCK_RIGHT | HDOCK_FULLVERTICAL ); // 停靠右边,垂直方向自动充满 m_pPanlCtr->setBackColor(0x776655); 主要就是这部分创建,以及添加上去
这一段是怎么体现父窗口的呢?
oyljerry 2017-05-05
  • 打赏
  • 举报
回复
m_pPanlCtr = new PanlCtr( CRect(0, 0, 380, 0) ); // 在onsize中自适应大小 m_pPanlCtr->setDock( HDOCK_RIGHT | HDOCK_FULLVERTICAL ); // 停靠右边,垂直方向自动充满 m_pPanlCtr->setBackColor(0x776655); 主要就是这部分创建,以及添加上去

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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