在ABOUT2中使用整体变量可能会、也可能不会影响您。一些程序写作者(包括我自己)较喜欢少用整体变量。ABOUT2中的整体变量iCurrentColor和iCurrentFigure看来使用得完全合法,因为它们必须同时在窗口消息处理程序和对话框程序中使用。不过,在一个有一大堆对话框的程序中,每个对话框都可能改变一堆变量的值,使整体变量的数量容易用得过多。
您可能更喜欢将程序中的对话框与数据结构相联系,该数据结构含有对话框可以改变的所有变量。您将在typedef叙述中定义这些结构。例如,在ABOUT2中,可以定义与「About」方块相联系的结构:
typedef struct { int iColor, iFigure ; } ABOUTBOX_DATA ;