高级程序设计

27 - 图形用户接口设计

2020-05-28 14:00 CST
2020-05-28 14:30 CST
CC BY-NC 4.0

图形用户接口

图形用户接口(GUI)是人与计算机进行交互的一种方式。

图形用户接口由窗口、菜单、对话框与对应的控制机制构成。用户通过鼠标、键盘等设备输入设备操纵屏幕上的图标和菜单向计算机发出指令;计算机用图形输出来反馈操作的结果。

菜单

菜单是程序执行功能的一种手段。

  • 一个基于GUI的程序可以有一个或多个菜单,每个菜单都有一个菜单标识(Menu ID)。
  • 一个菜单由若干菜单项构成,每个菜单项包含
    • 菜单项标识(Item ID)
    • 显示文字和提示文字
    • 处理函数

菜单的外观设计可以用菜单编辑器来完成,并作为资源文件保存;菜单处理函数的代码可以用类向导来添加。

对话框

对话框是一种窗口,它是Windows应用程序与用户进行交互的一种重要手段。每个对话框都包含了一些对话框控件,这些控件属于对话框的子窗口。

每个对话框需要对应一个对话框模板:

  • 每个对话框模板都有一个标识(Dialog ID)。
  • 对话框模板描述了对话框的控件组成和外观,每个控件都有一个标识(Control ID)。

对话框模板可用对话框编辑器来设计,并作为资源文件保存。

在程序中需要打开对话框时:

  • 首先创建一个对话框类(CDialog)的对象
  • 然后通过与控件对应的成员变量为控件提供初始值
  • 调用对话框类的成员函数DoModal,显示对话框
  • 对话框关闭后,通过与控件对应的成员变量获取用户输入的内容

绘图

进行绘图时,首先要针对某个窗口,创建一个绘图环境类(CDC)或其派生类的对象。应用框架在调用CViewOnDraw成员函数时,会自动创建一个CDC类的对象,把它作为参数传给OnDraw

CDC类包含绘图时所需要的绘图函数,实现了文本、集合图形的输出。

绘图时需要用到一些工具,可用CPenCFontCBrush等绘图工具类来创建,实现图形轮廓、文字字体、图形填充等绘图元素。