Показать сообщение отдельно
  #2  
Старый 15.07.2012, 03:20
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Наверное надо не Destroy, а Free т.к. в первом случае диалог не освобождается, а уничтожается Вот такой варьянтик:
Код:
// обёртка под диалог, плюсы - с ним можно делать всё, что угодно
 
function MD(txt:string; mt: TMsgDlgType; mb: TMsgDlgButtons): integer;
begin
with CreateMessageDialog(txt, mt, mb) do
try

// Показать по центру формы:
Left:= Screen.ActiveForm.Left + (Screen.ActiveForm.Width - Width) div 2;
Top := Screen.ActiveForm.Top  + (Screen.ActiveForm.Height-Height) div 2;

Result := ShowModal;

finally
Free;
end;
end;

{
Пример использования:

case MD('bla-bla-bla', mtWarning, mbOKCancel) of
mrOK     : // ;
mrCancel : exit;
end;

Возможные варианты:
mt:= mtWarning, mtError, mtInformation, mtConfirmation, mtCustom
mb:= mbYesNoCancel, mbYesAllNoAllCancel, mbOKCancel, mbAbortRetryIgnore,  mbAbortIgnore
}
Ответить с цитированием