|  | 
 
 | 
| 
 | |||||||
| Регистрация | << Правила форума >> | 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)
 | ||