|  | 
 
 | 
| 
			 
			#1  
			
			
			
			
		 | ||||
| 
 | ||||
|  MsgDialog Всем доброго времени суток!  Создается что-то вроде MessageDialog, куда пользователь вводит данные, если они были введены неверно, по нажатию ок MessageDialog не должен закрываться. Код: var
  AMsgDialog: TForm;
  AMaskEdit: TMaskEdit;
  CanClose: boolean;
..............................................
begin
.............................................
AMsgDialog := CreateMessageDialog(#10 + #13+'Ââåäèòå êëþ÷!' + #10 + #13+ #10 + #13+ #10 + #13, mtInformation , [mbYes]);
              AMsgDialog.OnCloseQuery( AMsgDialog , CanClose);
                with AMsgDialog do
                  try
                     ............................................. 
                      with AMaskEdit do
                          begin
                              Parent := AMsgDialog;
                              .............................................
                          end;
                      case ShowModal of
                          ID_Yes: (тут если условие выполняется - то разрешить закрытие, иначе - выдать сообщение ) ;На строчке Код: AMsgDialog.OnCloseQuery( AMsgDialog , CanClose); П.С. Варианты типа ИнпутКвери и ИнпутБокс не предлагать | 
| 
			 
			#2  
			
			
			
			
		 | ||||
| 
 | ||||
|   А почему бы просто не создать форму, набросать на нее нужных компонентов и вперед! | 
| 
			 
			#3  
			
			
			
			
		 | ||||
| 
 | ||||
|   так неинтересно   | 
| 
			 
			#4  
			
			
			
			
		 | ||||
| 
 | ||||
|   Код: type
  TForm1 = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
    procedure MessageDialogQuery(Sender: TObject; var CanClose: Boolean);
  public
    { Public declarations }
  end;
...
procedure TForm1.Button1Click(Sender: TObject);
var
  MessageDialog: TForm;
begin
  MessageDialog:=CreateMessageDialog('MessageDialog', mtInformation, [mbYes]);
  MessageDialog.OnCloseQuery:=MessageDialogQuery;
  Edit1.Parent:=MessageDialog;
  MessageDialog.ShowModal;
  Edit1.Parent:=Self;
  MessageDialog.Free;
end;
procedure TForm1.MessageDialogQuery(Sender: TObject; var CanClose: Boolean);
begin
  CanClose:=Edit1.Text='123';
end; |