Most Windows applications have windows. Every window has a window class, which defines its behavior through the Window Procedure. Windows defines many built-in classes, for instance for window controls. Application-specific windows require user-defined classes. Dialogs are special types of windows with predefined class, but whose built-in window procedure calls the user-defined Dialog Procedure.