第2课 - GUI 程序实例分析

1、GUI程序开发概述 

        现代操作系统支持GUI界面 

            -现代操作系统提供原生SDK支持GUI程序开发

             - GUI程序开发是现代操作系统上的主流技术 

            -不同操作系统上的GUI开发原理相同 

            -不同操作系统上的GUI SDK不同 


2、GUI程序开发原理 

            GUI程序在运行时会创建一个消息队列 

            系统内核将用户操作翻译成对应的程序消息 

            程序在运行过程中需要实时处理队列中的消息 

            当队列中没有消息时,程序将处于停滞状态 

        

        不同操作系统支持相同的GUI开发原理 

            


3、GUI程序开发的本质 

        GUI程序开发: 

            -在代码中用程序创建窗口及窗口元素 

            -在消息处理函数中根据程序消息做出不同响应 

            

4、GUI程序开发实例 

        多数操作系统以C函数的方式提供GUI SDK 

        以Windows操作系统为例 

                


5、编程实验 

GUI程序开发初体验 

GUIDemo.sln 

仅提供解析代码(我们重点是QT,这里只是帮助理解GUI程序开发)



分别转到定义地方看看


内部调用的是RegisterClass函数,指定消息处理函数为WndProc(自定义的:将消息映射到消息处理函数)

自定义的消息处理函数内部调用的是系统提供的默认消息处理函数






编译运行

                


我们关闭窗口,然而却发现



这是因为消息处理函数没有处理退出消息,只是调用的系统消息处理函数(可以正常最大化,最小化等)

然而关闭窗口并不意味着退出(如迅雷,百度网盘),所以程序还在运行


可以通过增加消息处理代码解决


相应的增加相关消息处理代码,可对其它消息处理

即将消息映射到函数,编写相应消息处理函数(或者直接调用系统的相关消息处理函数)


6、小结 

        现代操作系统提供原生SDK支持GUI程序开发 

        不同操作系统上的GUI SDK不同 

        不同操作系统上的GUI开发原理相同 

        GUI程序开发包括 

            -在代码中用程序创建窗口及窗口元素 

            -在消息处理函数中 根据程序消息做出不同响应



猜你喜欢

转载自blog.csdn.net/qq_39654127/article/details/80981185