Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Некоторые приемы работы с формами




Если из одной формы (например, 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;

Приложение (Application)

Данным объектом является само выполняемое приложение и пред­назначено для связи приложения с Windows. Используя свойства, метод и события можно настроить приложение в целом.

Свойства

Active ‑ приложение активно (True).

CurrentHelpFile ‑ имя справочного файла (.Hlp).

ExeName ‑ полное имя исполняемого файла (.Exe).

Handle ‑ идентификатор программы или окна объекта в системе Windows.

HelpFile ‑ имя справочного файла по умолчанию.

Hint, HintColor ‑ текст и цвет всплывающей подсказки.

HintHidePause,HintPause,HintShortPause ‑ интервал в миллисекундах, по истечении которого убирается, всегда появляется и появляется подсказка соответственно.

HintShortCuts ‑ вывод в подсказке клавиши быстрого доступа (True).

Icon ‑ значок для идентификации приложения в Windows.

MainForm:TForm ‑ имя главной формы.

ShowMainForm ‑ главной формой считается форма, указанная при проек­ти­ровании приложения (True). Иначе ‑ устанавливается новая главная фор­ма через свойство MainForm со свойством Visible.

Terminated ‑ имеет значение True, если Windows заканчивает выполнение приложения.

Title ‑ заголовок приложения на кнопке панели задач.

Методы

ActivateHint(C:TPoint) ‑ отображает всплывающую подсказку в указанной точке экрана.

BringToFont ‑ перемещает активное окно поверх всех окон.

CancelHint ‑ убирает всплывающую подсказку.

HelpCommand(C:Word,D:LongInt):Boolean ‑ доступ к функции (C ‑ код функции) Windows, работающей со справочной системой.

HelpContext(C:THelpContext):Boolean ‑ отображает раздел справки.

Hint ‑ возвращает длинную часть всплывающей подсказки (п. 2.1.7.10).

Minimize ‑ все окна приложения свертываются.

NormalizeAllTopMosts ‑ переводит все окна (NormalizeTopMosts ‑ исклю­чая окно главной формы) из состояния «всегда поверх» в обычный.

ProcessMessages/HandleMessage ‑ прерывает работу для обработки всех/сле­­дующего сообщения Windows. Используется против монополиза­ции процессора при длительных вычислениях (в циклах).

Restore ‑ восстанавливает все свернутые окна.

RestoreTopMosts ‑ перевод всех окон в состояние «всегда поверх».

ShowException(E:Exception) ‑ вывод окна с сообщением об ошибке.

Terminate ‑ завершение выполнения приложения.

Пример работы со справочной системой:

Application.HelpFile:=’Инструкция.hlp’; //имя справочного файла

Application.HelpCommand(Help_Finder,0); //поиск справочного файла

Application.HelpContext(DataNotFound); //вызов конкретного раздела

Пример завершения работы приложения при возникновении ошибки:

Procedure TForm1.AppException(Sender:TObject;E:Exception);//обработчик

Begin Application.ShowException(E); Application.Terminate; End;

Procedure TForm1.FormCreate(Sender:TObject);//при создании формы

Begin Application.OnException:=AppException;{указание обработчика}End;

События

OnActivate/OnDeactivate/OnException ‑активизация/деактивизация/ошибка.

OnHelp ‑ запрос на выдачу справки.

OnHint ‑ указатель на объекте, способном выдать справку (п.2.1.7.10).

OnIdle ‑ пауза в работе приложения (ожидается ввод данных). Параметр ‑ переменная Done=True задает останов обработчика, пока не будет обра­бо­та­но очередное сообщение Windows.

OnMessage ‑ получено системное сообщение от Windows.

OnMinimize/OnRestore ‑ приложение свернуто/развернуто.

OnShortCut ‑ нажата клавиша пользователем (предшествует всем OnKey).

OnShowHint ‑ готовится вывод всплывающей подсказки. Для исполь­зо­­ва­ния событий приложения лучше использовать компонент ApplicationEvents (п. 2.3.8.6).

Экран (Screen)

Свойства

ActiveControl/ ActiveForm ‑ объект/форма, имеющий фокус.

Можно менять свойства формы.

Пример. Screen.ActiveForm:=clGreen; //зеленый цвет фона формы

Cursor ‑ текущая форма указателя мышки в приложении (п.2.1.7.9).

Пример. Screen.Cursor:=crHourglass; // указатель ‑ песочные часы.

FormCount ‑ число форм на экране.

DeskTopWidth, DeskTopHeight ‑ ширина и высота стола в пикселях.

DeskTopLeft,DeskTopTop ‑ левая и верхняя координаты стола.

Fonts ‑ массив имен шрифтов вывода текста на экран, без шрифтов прин­тера (Edit1.Font.Name:=Screen.Fonts[0]).

Width, Height ‑ ширина и высота экрана в пикселях.

HintFont,IconFont,MenuFont ‑ шрифт подсказки, подписи под значком в окне выбора файла и пунктов меню соответственно.

Monitors, MonitorCount ‑ массив мониторов и их число.

PixelsPerInch ‑ число пикселей на один дюйм экрана.

Методы

EnableAlign/DisableAlign ‑ разрешение/запрет выравнивания форм по раз­ме­рам экрана.

Realign ‑ переупорядочение формы в зависимости от свойства Align.

ResetFonts ‑ обновление списка текущих шрифтов.

События

OnActiveControlChange ‑ перемещение фокуса в текущей форме.

OnActiveFormChange ‑ перемещение фокуса на новую форму.

Принтер (Printer)

Для работы с принтером следует подключить модуль Printers.

Свойства

Aborted ‑ печать досрочно прекращена (True).

Capabilties ‑ настройка режима печати.

Canvas ‑ канва принтера для создания изображения на бумаге.

Copies ‑ указывает число требуемых копий документа.

Fonts ‑ массив имен шрифтов вывода текста на печать

Пример: Label1.Caption:=Printer.Fonts[0].

Orientation ‑ указывает ориентацию листа бумаги: poPortrait (вертикаль­ная), poLandscap (горизонтальная).

Page Width, PageHeight ‑ ширина и высота листа в пикселях принтера.

PageNumber ‑ номер выводимой страницы документа.

Printers ‑ массив доступных принтеров.

PrinterIndex ‑ номер принтера из массива Printers.

Handle ‑ идентификатор принтера в системе Windows.

Printing ‑ принтер занят печатью документа (True).

Title ‑ содержит имя задания на печать.

Методы

Abort, Begin, End, NewPage ‑ досрочно прекратить, начать, закончить пе­чать документа и перейти на следующий лист соответственно.

Refresh ‑ обновление массива шрифтов и принтеров.

GetPrinter(Device,Driver,Port:PChar;Var DeviceMode:Thandle) ‑ получе­ние информации о текущем принтере.

SetPrinter(Device,Driver,Port:PChar; Var DeviceMode:Thandle) ‑ указанный принтер становится текущим.

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...