Member variable XbpColumn():drawMode Foundation

Specifies the drawing mode of the XbpColumn object.

Attribute: EXPORTED
Data type: Numeric (XBP_DRAW_NORMAL)

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.

Possible values for instance variable :drawMode
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.
  1. Default value

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.