Member variable XbpQuickBrowse():drawMode Foundation
Specifies the drawing mode of the XbpQuickBrowse object.
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.
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. |
|
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.
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.