With standard Windows settings, accelerator keys are not displayed in the dialog box until the user presses the ALT key.
The Delphi TLabel does not obey this convention, as shown below:

Although the accelerator key is indicated on the label and flag, the flag hides it correctly, but not on the label. Of course, when the ALT key is pressed, this checkbox is displayed, but this behavior is so wrong.
My understanding of why this happens is that the VCL code that implements this behavior is contained in TWinControl , for example, the UpdateUIState method, and relies on sending a basic windowed control. Since TLabel not finished, it skips this processing.
Can anyone suggest a way to achieve the desired behavior for non-window controls?
Update 1
I just found that group fields and radio groups do not respond to the state of the user interface.
Update 2
QC # 97044 .
source share