wxWidgets:使用事件
wxWidgets:使用事件
介绍
许多年前,我在两种不同的操作系统上工作。一个是分时系统,操作系统调度程序为每个用户提供了一段使用计算机资源的时间。另一个是事件驱动系统,它是一个工业过程控制器,过程不能等待用户各自获得资源份额。该计算机系统旨在快速响应外部事件,例如即将发生的核芯熔化。在某些方面,GUI 系统将事件驱动模型与分时模型相结合。
事件是在程序之外发生的一些有趣的事件。它可能是由用户选择菜单项或按下热键启动的。它可能是由计算机环境中但程序外的某些东西启动的,计时器停止工作,通信端口上可用的一些数据,系统关闭消息等。无论事件的起源如何,都需要处理。
在我撰写本文时,我的系统(Windows 98 系统)上加载了 10 个应用程序。除了这个编辑器,应用程序似乎没什么用,偶尔硬盘灯会闪烁。但是,如果我单击任务栏上的应用程序,该应用程序将出现并准备工作。任务栏接收鼠标单击事件,将事件和相关信息弹出到由操作系统管理的队列中,然后适当的应用程序以某种方式收到一条消息,说明它已被调用。
事件处理的常用编程技术是使用回调函数。下面是一个在FLTK(另一个跨平台框架)中使用回调函数的例子: