Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Exception не по середине экрана


Автор: shmelina 6.8.2010, 11:02
Создавая программу, я слежу, чтобы все новые окна, в т.ч. и диалоговые (MessageDlg) были НЕ по середине экрана, а ближе к месту события, вернее посередине источника события.
Например, когда в одной форме есть два грида, один слева, другой справа, то сообщение с подтверждением об удалении записи для левого грида лучше выводить слева, для правого - справа.
Реализация с MessageDlg получилась легко, я просто написал свой MessageDlgCenter, благо есть функция CreateMessageDialog:
Код

function MessageDlgCenter(const Msg: string; DlgType: TMsgDlgType;
  Buttons: TMsgDlgButtons; HelpCtx: Longint; AParent: TWinControl): Integer;
var
  Form: TForm;
  I: Integer;
begin
  Form := CreateMessageDialog(Msg, DlgType, Buttons);
...


Но как быть с исключениями? Приходит в голову только перехватывать исключения в Application и выводить их с помощью MessageDlg. Есть ли еще варианты?

Автор: CodeMonkey 6.8.2010, 12:38
Ну да, вы можете назначить Application.OnException и показывать сообщения как вам угодно.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)