![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Некоторые приемы работы с формами
Если из одной формы (например, Form1) производится вызов методом Show или Showmodal другой формы (Form2), то в команде Uses в модуле вызывающей формы (Unit1) нужно добавить имя подключаемого модуля вызываемой формы (Uses Unit2). Обычно при выполнении приложения Delphi обнаруживает эту ситуацию и выводит диалоговое окна с запросом на подключение модуля. Можно пользователю самому, не дожидаясь запроса, выполнить это командой File/Uses Unit. Для закрытия окон используются методы Hide и Close. При вызове метода Show вызванное немодальное окно появляется на экране и работает вместе с вызывающим окном, и управление передается сразу команде, следующей за Show. При выполнении метода ShowModal вызванное модальное (диалоговое) окно (п.2.2.1) появляется на экране, и управление передается команде, следующей за ShowModal, только после закрытия модального окна. Перед закрытием модального окна пользователь должен поместить результат работы в свойство ModalResult этого окна. Некоторые стандартные диалоговые окна и кнопки (п.2.3.4.2) сами помещают значения в виде именованных констант mr< имя кнопки> (mrYes, mrNo, mrOK, mrCancel, mrNone (окно не закрывается), mrAbort, mrRetry, mrIgnore, mrAll, mrNoToAll, mYesToAll). Метод Close всегда помещает в ModalResult значение mrCancel. Пример вызова и закрытия модального окна Form2 из окна Form1: Procedure TForm1.Button1Click(Sender: TObject); //вызов окна Form2 Begin Form2.ShowModal; Label1.Caption: =inttostr(Form2.modalresult); End; Procedure TForm2.Button1Click(Sender: TObject); //закрытие окна Form2 Begin Close; ModalResult: =mrOK; {возврат результата 1 (mrOK)} End; Существуют два режима создания форм: автоматический при старте приложения (существенно замедляет время загрузки приложения и загружает память) и динамический в процессе выполнения программы. Эти режимы устанавливаются командой Project/Options/Form. В поле Auto ‑ Create forms находятся автоматически создаваемые формы, а в поле Available form переносятся пользователем динамически создаваемые. Программно форму можно создать двумя методами : Create (п.2.1.9) и CreateForm (п.2.2.1.2). Пример динамически создаваемой модальной формы Form3: Procedure TForm2.Button1Click(Sender: TObject); Begin If Not Assigned (Form3) Then Form3: =TForm3.Create(Self); //создание //или If Not Assigned (Form3) Then Application.CreateForm(TForm3, Form3); Form3.Caption: =’Запрос на продолжение работы’; //заголовок Form3 Form3.Icon.LoadFromFile(‘Car.ico’); //загрузка иконки If Form3.ShowModal=mrCancel Then Form1.Show; {возвращение}End;
|