一个MFC的小问 题 成员函数的问题
intCMainFrame::OnCreate(LPCREATESTRUCTlpCreateStruct){if(CFrameWnd::OnCreate(lpCreate...
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
return -1;
if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
!m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
{
TRACE0("Failed to create toolbar\n");
return -1; // fail to create
}
if (!m_wndStatusBar.Create(this) ||
!m_wndStatusBar.SetIndicators(indicators,
sizeof(indicators)/sizeof(UINT)))
{
TRACE0("Failed to create status bar\n");
return -1; // fail to create
}
// TODO: Delete these three lines if you don't want the toolbar to
// be dockable
m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
EnableDocking(CBRS_ALIGN_ANY);
DockControlBar(&m_wndToolBar);
return 0;
}
请问是不是系统调用OnCreate 这个成员函数 就会执行下边 定义好的语句 下边return 0;的值是不是返回给 上边的INT了 展开
{
if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
return -1;
if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
!m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
{
TRACE0("Failed to create toolbar\n");
return -1; // fail to create
}
if (!m_wndStatusBar.Create(this) ||
!m_wndStatusBar.SetIndicators(indicators,
sizeof(indicators)/sizeof(UINT)))
{
TRACE0("Failed to create status bar\n");
return -1; // fail to create
}
// TODO: Delete these three lines if you don't want the toolbar to
// be dockable
m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
EnableDocking(CBRS_ALIGN_ANY);
DockControlBar(&m_wndToolBar);
return 0;
}
请问是不是系统调用OnCreate 这个成员函数 就会执行下边 定义好的语句 下边return 0;的值是不是返回给 上边的INT了 展开
3个回答
展开全部
语句有三种 顺序 条件 循环
语句都是顺序执行下来的,
return 0; 因为函数有返回值 所以需要return
语句都是顺序执行下来的,
return 0; 因为函数有返回值 所以需要return
更多追问追答
追问
我想问的是LPCREATESTRUCT lpCreateStruct 是的实参 跟下边的语句有关吗
追答
if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
第一句不是有用到这个参数 有关系
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
lpCreateStruct这个参数是个结构体指针,onCreate的执行,是当你调用Create的时候,会产生WM_Create消息,进而调用On_Create函数创建窗口。这个参数由Create传递。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
CMainFrm的基类是CFrameWnd,所以实际调用的是基类CFrameWnd中的OnCreate成员函数,而不是调用目前的派生类CMainFrm的OnCreate.
更多追问追答
追问
请问int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct) 下边的代码 是OnCreate的实现部分 或定义部分吗?我是菜鸟 实现部分和定义部分是一个意思吗?
追答
下面是OnCreate的实现部分,所谓实现部分就是实际执行的代码,而定义部分就像是:
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct);
而不寄予实现。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询