Bug Report B95956
Visible to All Users
Duplicate

We have closed this ticket because another page addresses its subject:

Support skinning for MessageBox

TcxMaskEdit Error/Validation Message dialogs aren't skinned

created 17 years ago

The TcxMaskEdit error/validation dialogs do not skin when displayed
Steps to Reproduce:
Use the attached demo and enter an invalid SSN.
Tab out of the field.
An error message will be displayed.
It is not skinned.
Select the ShowMessage of MessageDLG examples and you can see they skin as expected.
Changing the skin name has no effect on the error message from the TcxMaskEdit; however, the ShowMessage and MessageDLG again skin as expected when the skin name is changed.
Actual Results:
The TcxMaskEdit error/validation message box does not skin as expected.
Expected Results:
The TcxMaskEdit error/validation message box should skin like the ShowMessage and MessageDLG does in the supplied demo.

Comments (3)
Serge (DevExpress Support) 17 years ago

    Hi,
    Thank you for the sample project.
    This is actually the design limitation of our skinning UI. We don't and cannot support skinning for the MessageBox dialog. Please refer to report S91132 ("Support skinning for MessageBox") for more details.
    Thanks,
    Serge
    P.S. By the way, you're using an older build of our components. Please visit our version info page at http://www.devexpress.com/Support/Versions.xml, to learn about the most recent versions of our products, and obtain instructions on how to update them.

      After stepping through the code, I see CodeGear uses the MessageBox method from user32.dll to display exception messages. If they only used the ShowMessage or MessageDlg instead this problem would go away. Thanks for your help and I will see about posting a QC report to have this changed.

      Serge (DevExpress Support) 17 years ago

        Hi,
        I would like to suggest a workaround… You can handle the Application.OnException event similar to the following:

        Delphi
        procedure TForm1.AppOnException(Sender: TObject; E: Exception); begin if E is EcxEditValidationError then ShowMessage(E.Message) else Application.ShowException(E); end;

        Will this meet your requirements? I've also attached the updated version of your sample.
        Regards,
        Serge

        Disclaimer: The information provided on DevExpress.com and affiliated web properties (including the DevExpress Support Center) is provided "as is" without warranty of any kind. Developer Express Inc disclaims all warranties, either express or implied, including the warranties of merchantability and fitness for a particular purpose. Please refer to the DevExpress.com Website Terms of Use for more information in this regard.

        Confidential Information: Developer Express Inc does not wish to receive, will not act to procure, nor will it solicit, confidential or proprietary materials and information from you through the DevExpress Support Center or its web properties. Any and all materials or information divulged during chats, email communications, online discussions, Support Center tickets, or made available to Developer Express Inc in any manner will be deemed NOT to be confidential by Developer Express Inc. Please refer to the DevExpress.com Website Terms of Use for more information in this regard.