On 19.12.2015 16:34, Mattias Gaertner wrote:
On Sat, 19 Dec 2015 11:17:26 +0100 Jürgen Hestermann <[email protected]> wrote:Am 2015-12-13 um 16:52 schrieb Ondrej Pokorny: > The escape key selects mrCancel now (this was changed) - I am not sure I understand this right. Does it mean, mrCancel needs to be checked too in a case statement like this? case QuestionDlg('COPYING', 'Abort?', mtConfirmation, [mrNo, '&No','IsDefault', mrYes,'&Yes'],0) of mrYes : ... mrNo : ... end; // of case Can the result be mcCancel even when it's not part of the parameter list of the QuestionDlg function?Yes. Many widgetsets support an Escape key and/or have a close button. That's why there is the 'IsCancel' option to redirect the cancel to a button of your choice.
Mattias is completely right here. I just add that you had to care for mrCancel before as well (if default dialog was shown). It was returned when the dialog was closed with the system close button in the window caption. So the test code you sent isn't good for 1.4 either.
Now the behavior should be consequent: no 'iscancel' button defined: mrCancel is returned on ESC/close. 'iscancel' defined: its modal result is always returned on ESC/close. Ondrej -- _______________________________________________ Lazarus mailing list [email protected] http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
