Skip to main content

TdxForm.UpdateImageLists Method

Deprecated. Replaces assigned DPI-aware image lists with the corresponding lists whose content is designed for a different monitor DPI value.

Declaration

procedure UpdateImageLists; virtual;

Remarks

The ScaleFactorChanged procedure calls the UpdateImageList procedure every time the application receives the WM_DPICHANGED[1] system message. An UpdateImageLists call replaces all TcxImageList components with a different set of TcxImageList components whose stored bitmaps target a different DPI.

Tip

This image list replacement technique is deprecated. We recommend that you use only SVG images as UI icons in projects that target multi-monitor high-DPI environments.

The UpdateImageLists procedure uses component names to identify corresponding image lists whose stored bitmaps are designed for a specific target DPI. The procedure iterates through the list of standard DPI values to find an image list whose name includes the value closest to the target DPI.

For example, you can create four image lists and populate them with UI icons designed for the following DPI values:

Source DPI Scale Factor Bitmap Dimensions
96 100% (unscaled) 16x16
120 125% 20x20
144 150% 24x24
192 200% 32x32

You can override the UpdateImageLists procedure in custom TdxForm class descendants to execute custom actions when the form’s scale factor changes.

Limitations

An UpdateImageLists procedure call has no effect if the dxAutoReplaceImageListReferencesOnDPIChanges global variable is set to False.

Footnotes
  1. An application accepts the WM_DPICHANGED system message only if the application manifest includes the permonitor or permonitorv2 item.

See Also