![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
||||
|
||||
|
Можно описать эту так сказать форму как переменную (var msg:"диалог")? Ну или создать её, допустим, при старте программы
Код:
procedure Form.Create msg:=CreateMessageDialog(...) Проблема с повторным запуском. Так как это форма её запуск происходит так: msg.create(AOwner: TComponent). Что нужно писать в скобках? Последний раз редактировалось R-18Rus, 14.07.2012 в 20:19. |
|
#2
|
||||
|
||||
|
Наверное надо не 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
} |
| Этот пользователь сказал Спасибо Alegun за это полезное сообщение: | ||
R-18Rus (15.07.2012)
| ||