### 设计电子时钟程序

许多应用软件都提供有电子时钟，用于显示系统当前时间。例如，在 Windows 系统的右下方就显示了系统时间，如图 1 所示。

系统时间

图 1 任务栏时钟

那么如何在程序中显示系统时间呢？为了方便显示时间，笔者设计了一个显示系统时间的 OCX 控件。用户只要将该控件添加到对话框中，调用一下 ShowTime 方法就可以显示系统时间了。效果如图 2 所示。

图 2 实例效果

下面我们来介绍实例的设计过程。

（1）选择“File/New”菜单项，打开新建窗口，选择“Project”选项卡，如图 3 所示。

图 3 新建窗口

（2）在工程列表中选择“MFC AppWizard(exe)”选项，表示创建 MFC 应用程序，在“Project name”编辑框中输入工程名称，单击“OK”按钮开始创建工程，如图 4 所示。

图 4 MFC 向导 1 窗口

（3）选择“Dialog based”选项，表示创建一个基于对话框的应用程序。单击“Finish”按钮完成工程的创建，将创建一个对话框工程，如图 5 所示。

图 5 工程窗口

（4）删除掉对话框中的控件。鼠标右键单击对话框，在弹出的快捷菜单中选择“Insert ActiveX Control”菜单项，如图 6 所示。

图 6 插入 ActiveX 控件

（5）此时会弹出“Insert ActiveX Control”窗口，如图 7 所示。

图 7 Insert ActiveX Control 窗口

（6）在列表中选择“Time Control”选项，Time Control 是我们设计的一个 OCX 控件，用于显示系统时间。系统在注册 Time Control 控件之后，列表中采用有“GifCtrl Control”选项。单击“OK”按钮将其添加到对话框中。如图 8 所示。

图 8 导入 OCX 控件

（7）向对话框中添加两个按钮控件，如图 9 所示。

图 9 对话框窗口

（8）按“Ctrl + W”组合键打开类向导窗口，为控件关联一个变量，如图 10 所示。

图 10 类向导窗口

（9）处理“ShowTime”按钮的单击事件，调用 OCX 控件的 ShowTime 方法显示时间。

void CShowTimeDlg::OnBtShow()

{

m_Time.ShowTime();

}

（10）处理“HideTime”按钮的单击事件，隐藏 OCX 控件显示的时间。

void CShowTimeDlg::OnBtHide()

{

m_Time.HideTime();

}