DEFINE IMAGE statement
- Last Updated: February 11, 2026
- 4 minute read
- OpenEdge
- Version 13.0
- Documentation
(Windows only; Graphical interfaces only)
Defines an image widget in a graphical interface that is created at compile time for use within a single procedure or class. An image widget is a container for an operating system image file and can be displayed in a form or used as a form background.
Syntax
|
- [ PRIVATE ] IMAGE image-name
-
Defines and identifies an image widget as a class-scoped object. A class-scoped handle-based object is not a member of a class, but provides a resource that is privately available to the class definition similar to a non-shared data element in a procedure definition. The option to specify the PRIVATE access mode is provided for readability. You cannot specify PRIVATE when defining an image widget as a data element in a method or procedure.
Note: This option is applicable only when defining a class-scoped image widget in a class definition (.cls) file. - IMAGE image-name
- Defines and identifies an image widget for access only within the current procedure, class, or method of a class.
- image-phrase
-
Specifies the file where the image is stored and the portion of the image to read. This is the syntax for image-phrase:
FILE name [{ IMAGE-SIZE | IMAGE-SIZE-CHARS | IMAGE-SIZE-PIXELS } width BY height ] [ FROM {{ X n Y n }|{ ROW n COLUMN n}}]For more information on this syntax, see the Image phrase reference entry.
You must specify either the LIKE option, an Image phrase or a Size phrase within the DEFINE IMAGE statement, and you may specify any two or all three.
- LIKE image
-
Specifies a previously defined image from which this image inherits attributes. You can override specific attributes by specifying other options of the DEFINE IMAGE statement.
You must specify either the LIKE option, an Image phrase or a Size phrase within the DEFINE IMAGE statement, and you may specify any two or all three.
- size-phrase
-
Specifies the outside dimensions of the image widget. This is the syntax for size-phrase:
{ SIZE | SIZE-CHARS | SIZE-PIXELS }width BY heightIf you specify SIZE or SIZE-CHARS, the units are characters; if you specify SIZE-PIXELS, the units are pixels. If you use character units, the values width and height must be decimal constants; for pixel units, they must be integer constants. For more information, see the SIZE phrase reference entry.
You must specify either the LIKE option, an Image phrase or a Size phrase within the DEFINE IMAGE statement, and you may specify any two or all three.
- BGCOLOR expression
- Has no effect; supported only for backward compatibility.
- FGCOLOR expression
- Has no effect; supported only for backward compatibility.
- CONVERT-3D-COLORS
-
Specifies that the colors associated with an image will be converted to the system 3D colors when an image is loaded. The following table describes the color conversion process.
Table 1. 3D-color conversions for images If the color is . . . And the original Red-Green-Blue (RGB) color value is . . . Then the new converted system color is . . . White (255, 255, 255) System button highlight color Light Gray (192, 192, 192) System button face color Dark Gray (128, 128, 128) System button shadow color Black (0, 0, 0) System button text color During a session, if Windows notifies the AVM that the system colors are changed, all images that have this option are reloaded and converted to the new system colors.
- TOOLTIP tooltip
-
Allows you to define a help text message for an image widget. The AVM automatically displays this text when the user pauses the mouse pointer over the image widget.
You can add or change the TOOLTIP option at any time. If TOOLTIP is set to "" or the Unknown value (
?), then the ToolTip is removed from the button. No ToolTip is the default. ToolTips are supported in Windows only. - STRETCH-TO-FIT
-
Forces the image to expand or contract to fit within the image widget's boundaries.
This option has no effect if an icon is displayed on the image widget.
- RETAIN-SHAPE
-
Indicates that the image should retain its aspect ratio (expand or contract equally in both dimensions). This may leave some uncovered space at the bottom or right of the image widget.
RETAIN-SHAPE is ignored if STRETCH-TO-FIT is FALSE or if an icon is displayed on the image widget.
- TRANSPARENT
-
Indicates that the background color of the image is transparent. The background color is determined by the color of the pixel in the lower left corner of the image.
The TRANSPARENT option overrides the CONVERT-3D-COLORS option; if both are set, CONVERT-3D-COLORS is ignored.
This option has no effect if an icon is displayed on the image widget.
Example
This
procedure defines an image widget named trashcan,
and loads into the widget a series of operating system image files
that create an animation of a fire burning in a trash can. The user
begins the animation by choosing the Animate button. This procedure serves
as an illustration only. It depends on the existence of image filenames ANI01, ANI02.
... ANI14 , which are not provided.
r-image.p
|
Notes
- In Windows, if the file has no extension, the AVM by default looks for image files with either a .bmp or .ico extension.
- To create the compile-time defined image you are defining, you must define a compile-time defined frame that contains the image. Each frame you define that contains the same image creates an additional instance of that image. The handle for a compile-time defined image is not available until the image is created.
- The AVM only performs the color conversion process on bitmaps (.bmp files) that contain 256 or fewer colors. However, you might consider using 16-color bitmaps because only the first sixteen entries in the bitmap's color table will be converted.
- Icon colors (.ico files) are not converted, even if CONVERT-3D-COLORS is TRUE.
- See Image phrase for the list of supported image file formats.
- You can specify an application-defined widget ID for a compile-time defined image using the form-item phrase in either the FORM statement or the DEFINE FRAME statement. See the FORM statement and DEFINE FRAME statement reference entries for more information.
See also
Class-based data member access, FORM statement, Image phrase