Member variable XbpColumn():drawMode Foundation
Specifies the drawing mode of the XbpColumn object.
The :drawMode instance variable specifies the mode used to display the XbpColumn object on the screen. In the default draw mode (XBP_DRAW_NORMAL), the operating system takes full control over the drawing process. In this mode, a column object is displayed using default imagery and the object's appearance cannot be controlled by the application. However, this default behaviour can be overriden. If the value XBP_DRAW_OWNER or XBP_DRAW_OWNERADVANCED is assigned to the :drawMode instance variable, no drawing is performed by the operating system. Instead, the Xbase++ runtime system uses xbeP_CustomDrawCell()events to notify the application whenever cells of the XbpColumn object need to be redrawn. The application is responsible for processing this event, and for creating the on-screen visualization. For this, the Graphics Engine commands can be used.
This protocol is called owner-drawing because displaying the column object is the responsibility of the object's owner. Using owner-drawing, an application can customize the visualization and the behaviour of an XbpColumn object.
Value | Effect |
---|---|
XBP_DRAW_NORMAL *) | Cells of the XbpColumn object are drawn by the system |
XBP_DRAW_OWNER | Caption or image within the cells of the XbpColumn object may be drawn by the application. |
XBP_DRAW_OWNERADVANCED | All elements of the XbpColumn object may be drawn by the application. |
|
The drawing mode must be assigned to :drawMode before the method :create() is executed.
Changing the drawing mode of an XbpColumn object also affects the way the various column areas are being drawn. Enabling owner-drawing for an XbpColumn object also enables owner-drawning for the heading, data and footing areas. In owner-drawn columns, all requests for drawing cells are forwarded to the XbpBrowse object which displays the columns. See methods :create() as well as XbpCellGroup:customDrawCell for further information.
If you see anything in the documentation that is not correct, does not match your experience with the particular feature or requires further clarification, please use this form to report a documentation issue.