AdvGlowbutton Always Shows Accelerator

Advglowbuttons always display their accelerator key with an underline, regardless of the setting of AlwaysShowAccelerator. Standard Windows behavior would be for the underline to appear only when Alt is pressed. Can you correct this?


Thank you

When AlwaysShowAccel = false, we determine via WM_QUERYUISTATE if the accel char should show, which is how the Windows API prescribes it should be done. We do not always see the accel char underlined here.

The problem can be reproduced using your AdvGlowButton demo by adding an accelerator to any of the captions. For example, change the caption of AdvGlowButton5 from "Blue" to "&Blue".

Oddly, if I also place a tbutton on the form and the Tbutton has an accelerator, then the AdvGlowButton performs as expected.

Looks more like a Windows related issue handling WM_QUERYUISTATE when the form has no standard Windows controls. Not sure if and how to workaround this.

I always put a TAdvPanel on top of my forms so one very kludgy workaround would be to but a tbutton on every form and hide it under the advpanel. I hope you can suggest something more elegant.

So far, I have not yet found a workaround. Windows is not responding correct to WM_QUERYUISTATE  when there is no Windows BUTTON class on the form.

FYI, this issue is not limited to TButtons -- it also happens with other controls, such as the label for TAdvEdit.