When a window is processed, as opposed to merely displayed, any user functions that you installed for the window are called. You can write and install an activate window function that is called each time the window is made active, and a suspend window function that is called each time the window becomes inactive (when window processing is suspended or terminated). You can use these functions for many purposes. For example, you could use them to change the visual appearance of the window to indicate whether it is active by putting shadows on the active window, or by changing the color of the border.
Window user functions can be assigned in code or when they are read from a Designer library. See Chapter 31, "Writing User Functions," for more information.