Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Свойство WindowState





wsMaximized – Окно первоначально будет развернуто во весь экран.

wsMinimized – Окно первоначально будет свернуто в значок.

wsNormal – Окно имеет те же размеры, что и во время разработки. Значение по умолчанию.

Пример

Рассмотрим один очень полезный пример. Нам надо еще до запуска программы предложить пользователю ввести некий пароль. Если пароль введен верно, то отображается главное окно проекта и пользователь может работать. Если пароль введен неверно, то программа немедленно завершает свою работу.

Запускаем delphi и создаем новый проект. В новом проекте окно Form1 будет главным окном проекта.

Для события создания окна OnCreate пишем:

procedure TForm1.FormCreate(Sender: TObject);

begin

Application.ShowMainForm:=false; //не отображать главное окно приложения

end;

Выбираем пункт меню "New Form" из меню "File". Появляется новое окно Form2. Его мы будем использовать в качестве ввода пароля. Оформляем его для этого надлежащим образом. Пример вы видите на рисунке.

· Уменьшаем окно так, чтобы оно по размерам было как у подобных окон.

· Свойство BorderStyle устанавливаем в bsSingle. При этом размер окна во время работы программы будет постоянен.

· Свойство BorderIcons. Подсвойства biMinimize и biMaximize устанавливаем в false. Это окончательно недопустит изменение состояния окна (свертывание, разворачивание на весь экран).

· В свойстве Caption пишите любую на ваше усмотрения понятную фразу, например "Введите пароль".

· Свойство Position в значение poDesktopCenter. При этом окно при любом экранном разрешение всегда изначально будет расположено посередине экрана.

· На странице палитры компонентов Standart выбираем и устанавливаем в форму компонент TPanel. Убираем у него значение Caption, придаем свойству Align значение alTop и окончательно изменяем его размер на четь больше половины окна.

· На странице Additional выбираем компонент TBitBtn и устанавливаем в форму две кнопки, ниже панели.

· Для первой кнопки свойство Kind в bkOk, для второй bkCancel.

· Для первой кнопки свойство Caption оставляем в для всех понятное значение Ok, для второй пишем "Отмена".

· На странице Standart выбираем и устанавливаем на компонент Panel компонент TEdit.

· Для компонента Edit1 меняем свойство PasswordChar на знак * (звездочка). Это принятый во всех программах символ ввода пароля. При наборе пароля вместо символов будет отображаться звездочки.

· Для компонента Edit1 убираем значение Caption.

· Для Form2 в свойстве Icon подбираете соответствующую иконку.

Мы только что оформили полностью готовое окно для ввода пароля. Я же могу предложить вашему внимание свой вариант, который более красочно оформлен. Вы всегда можете оформлять свои приложения по своему. Не обязательно придерживаться каких-либо правил по оформлению программы, но тем не менее пользователь не должен теряться при виде ваших "фантазий" и должен четко представлять, что от него требуется.

Дальше делаем вызов окна ввода пароля на экран. Поскольку мы с вами убрали свойство вывода главного окна, то после запуска программы на экране не будет ничего. Нам же нужно вывести окно запроса пароля, и мы это делаем с помощью программы DPR. Вызываем ее на экран с помощью пункта меню "View Source" из меню "Project". В строке до Application.Run пишем:

Form2.Show;

Еще до запуска приложения, но после создания всех окон на экран выводится окно Form2.

Дальше переключаем редактор кода на модуль Unit2, вызываем проектируемое окно клавишей F12, в инспекторе объектов для компонента Form2 (проектируемая форма) создаем реакцию на событие закрытия окна OnClose и в самой процедуре пишем:

Procedure TForm2.FormClose (Sender: TObject; var Action: TCloseAction);

begin

If Form2.ModalResult=mrOk then //если пользователь нажал на кнопку Ok, то

If Edit1.Text='programming.dax.ru' then //если набран необходимый пароль, то

begin

Form1.Show; //показать главное окно

Exit; //выйти из этой процедуры

end;

Application.Terminate; {если все вышеуказанные условия не выполняются, то остановить программу}

end;

Для кнопки BitBtn1 реакция на событие OnClick

procedure TForm2.BitBtn1Click(Sender: TObject);

Begin

Form2.ModalResult:=mrOk; //результат работы этого окна

Close; //закрыть это окно

end;

Для кнопки BitBtn2 событие OnClick

procedure TForm2.BitBtn2Click(Sender: TObject);

begin

Close; //закрыть это окно

end;

Поскольку мы окно Form2 вызываем командой Show, а не ShowModal, то присваивание результата работы окна не приведет к автоматическому закрытию и вызову процедуры OnClose. Поэтому после этой команды следует команда закрытия окна Close.







Дата добавления: 2015-09-04; просмотров: 317. Нарушение авторских прав; Мы поможем в написании вашей работы!




Картограммы и картодиаграммы Картограммы и картодиаграммы применяются для изображения географической характеристики изучаемых явлений...


Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...


Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...


Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

В эволюции растений и животных. Цель: выявить ароморфозы и идиоадаптации у растений Цель: выявить ароморфозы и идиоадаптации у растений. Оборудование: гербарные растения, чучела хордовых (рыб, земноводных, птиц, пресмыкающихся, млекопитающих), коллекции насекомых, влажные препараты паразитических червей, мох, хвощ, папоротник...

Типовые примеры и методы их решения. Пример 2.5.1. На вклад начисляются сложные проценты: а) ежегодно; б) ежеквартально; в) ежемесячно Пример 2.5.1. На вклад начисляются сложные проценты: а) ежегодно; б) ежеквартально; в) ежемесячно. Какова должна быть годовая номинальная процентная ставка...

Выработка навыка зеркального письма (динамический стереотип) Цель работы: Проследить особенности образования любого навыка (динамического стереотипа) на примере выработки навыка зеркального письма...

Гидравлический расчёт трубопроводов Пример 3.4. Вентиляционная труба d=0,1м (100 мм) имеет длину l=100 м. Определить давление, которое должен развивать вентилятор, если расход воздуха, подаваемый по трубе, . Давление на выходе . Местных сопротивлений по пути не имеется. Температура...

Огоньки» в основной период В основной период смены могут проводиться три вида «огоньков»: «огонек-анализ», тематический «огонек» и «конфликтный» огонек...

Упражнение Джеффа. Это список вопросов или утверждений, отвечая на которые участник может раскрыть свой внутренний мир перед другими участниками и узнать о других участниках больше...

Studopedia.info - Студопедия - 2014-2025 год . (0.01 сек.) русская версия | украинская версия