|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
Работа с CreateMessageDialog
Можно описать эту так сказать форму как переменную (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)
|