Classes

Member variable XbpQuickBrowse():drawMode Foundation

Specifies the drawing mode of the XbpQuickBrowse object.

Attribute: EXPORTED
Data type: Numeric (XBP_DRAW_NORMAL)
Description

The :drawMode instance variable specifies the mode used to display the XbpQuick Browse 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 browser 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 XbpQuickBrowse 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 it is the responsibility of the browser's owner to display the browse. Using owner-drawing, an application can customize the visualization and the behaviour of an XbpQuickBrowse object.

Possible values for instance variable :drawMode
Value Effect
XBP_DRAW_NORMAL *) Cells of the browse object are drawn by the system
XBP_DRAW_OWNER Caption or image within the cells of the object may be drawn by the application.
XBP_DRAW_OWNERADVANCED All elements of the browse 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 XbpQuickBrowse object also affects the way the various browser areas are being drawn. Enabling owner-drawing for a XbpQuickBrowse object also enables owner-drawning for its heading and data areas. This causes all requests for drawing cells in a browser area to be forwarded to the XbpQuickBrowse object. See method :create() as well as XbpMultiCellGroup:customDrawCell for further information.

Feedback

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.