I have a few applications and I call a ShowMessage(‘Complete!’); at the end of a long operation.
Most of the time, this works great, but every once in awhile, the Message Dialog will show up behind the main form.
Is there any way for me to ensure the ShowMessage will always be on top?
Thanks!
Call the Windows
MessageBox()API instead and pass in the handle to the active form. Actually, my code usesApplication.MainFormHandleall the time which I am therefore sure is a reasonable and simple approach.This will have the benefit of being the system native dialog rather than the home-grown Delphi version. It supports clipboard operations also.
If you want to get very fancy then you can use the Vista task dialog, but that’s much more complex and you clearly don’t need it for such a simple dialog.