Skip to content

Class: DfBaseWindow [Abstract]

Properties | Events | Methods | Index of Classes

Specifies a layer of presentation support for GUI objects

Hierarchy

cObject > cUIObject > DfBaseObject > DfBaseWindow

Show full hierarchy and direct subclasses

Library: Windows Application Class Library

Description

The DfBaseWindow class specifies a layer of presentation support for GUI objects. DfBaseWindow manages the colors, fonts, location and size of a GUI object.

This class provides the interface level required to create and display visual objects. Messages are provided to size and locate objects and set other display characteristics common to all all visual classes.

Windows Objects

Each DataFlex object has the ability to create, use, and then destroy Windows objects. When a DataFlex object is paged it creates windows object and displays it. When the DataFlex object is un-paged, the Windows object is removed and destroyed. Under normal circumstances all communication with this Windows object is private; the DataFlex object handles this for you.

It is possible to send messages directly to a Windows object. This class adds that layer of interface support. The messages that allow you to directly communicate with the Windows object are: get/set window_handle, get/set container_handle, get/set window_style, get/set extended_window_style, send page, and send page_delete.

This is a very low level interface. You are bypassing the DataFlex message interface and communicating directly with the windows object. If you choose to do this: You must understand the Windows classes and their interface (API). This is a C style interface and, like most C style programs, improper use may result in serious and unpredictable problems.If you are familiar with the Windows API you should study the WinUser.pkg and CommCtrl.pkg packages. These provide replacements for a number of the Windows API constants. These packages are purposefully undocumented. If they do not make sense, you probably should not be using them.Be aware the Windows objects are created and destroyed each time the DataFlex object is paged and unpaged. When an object is not paged, there is no Windows object to send a message to (window_handle will be 0). If you are using a Windows object as a storage structure be aware that this storage structure only exists while the object is paged. On the other hande, the DataFlex object and all of its data exists until it is explicitly destroyed or the program ends. It is not intended that you should need to use this low level Windows interface. It is, however, an extremely powerful extension which provides full access to standard Windows controls.