org是自生成的类吗?

 我来答
你猜我猜哇擦猜
推荐于2016-10-03 · TA获得超过2.8万个赞
知道大有可为答主
回答量:2万
采纳率:0%
帮助的人:6789万
展开全部
LZ需要系统地学习一下。

CTestApp是基于WinApp的,WinApp封装了程序的主入口WinMain,WinMain就和c语言的main函数地位一样,是Win32程序的入口。在MFC的封装中,一个程序启动,Windows调用WinMain,这个WinMain函数现在由MFC事先写好藏好了,你不能也不需要修改,在这个预定义的WinMain里面会调用CWinApp的InitInstrance函数。

你仔细看你CTestApp::InitInstrance函数,在这里一个CMainFrame的对象被创建,文档模板被创建,主窗口通过ShowWindow(SW_SHOW)被显示出来。

CMainFrame是个框架,是你整个应用程序的主窗口,他负责管理应用程序的菜单,工具栏,状态栏等。中间的区域,成为客户区,由View类来管理,View类也是一个窗口,他是MainFrame的子窗口。

OnDraw函数负责绘制客户区的内容,该函数会被多次调用,他可以被你自己调用,比如你调用View类的UpdateWindow,或者在Document类中调用UpdateAllViews等等,MFC自动会调用OnDraw。

他还会被Windows调用,Windows在需要刷新窗口的时候发送给窗口WM_PAINT消息,MFC事先已经预定义了,在响应WM_PAINT消息的时候会调用OnDraw。

何时Windows会发送WM_PAINT呢,比如窗口从最小化还原,比如窗口被用户改变了大小等等。这部分内容最好看看Windows GDI,Windows GDI是Windows操作系统整个可视化界面的基础。

然后你最后一个问题,何时才能被播放音乐。你仔细想想就容易得到答案了,整个程序从App类的InitInstrance开始,在InitInstrance里面创建了MainFrame,这时候MainFrame的PreCreateWindow, OnCreate, OnCreateClient就会按照上述顺序被调用,在OnCreateClient中,视图类会被创建,视图类的PreCreateWindow和OnCreate会按上述顺序调用,当视图创建之后,视图类的OnInitialUpdate会被调用,作为视图类一次性的初始化。之后程序进入等待用户操作的状态,在需要刷新的时候,OnDraw会被调用。

在关闭应用程序的时候,用户单击窗口右上角的关闭按钮,Windows就发送WM_CLOSE给窗口,MFC中相应WM_CLOSE的函数是OnClose,在OnClose中,QueryEndSession被调用,如果文档有变化,则会询问用户是否要保存文档,如果保存,则调用文档类的Serilize函数对文档进行保存操作,如果不保存就继续关闭。这时候OnDestroy被调用,窗口在这里被销毁。
主进程App类会受到WM_QUIT消息,这是ExitInstrance被调用,最后整个程序被结束。

如果你想清楚了这个主线,你自己就可以决定你需要在哪里播放音乐了。
AiPPT
2024-09-19 广告
随着AI技术的飞速发展,如今市面上涌现了许多实用易操作的AI生成工具1、简介:AiPPT: 这款AI工具智能理解用户输入的主题,提供“AI智能生成”和“导入本地大纲”的选项,生成的PPT内容丰富多样,可自由编辑和添加元素,图表类型包括柱状图... 点击进入详情页
本回答由AiPPT提供
六小伟丶
2015-07-25 · 超过97用户采纳过TA的回答
知道答主
回答量:176
采纳率:0%
帮助的人:171万
展开全部
您好, 如下图操作即可:
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式