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

 

Изменение формы Delphi
 

 

Но ни что не запрещает нам изменить форму в Delphi, создать форму произвольного внешнего вида и запрограммировать для них оригинальное поведение. Здесь мы рассмотрим создание приложения с главным окном в виде эллипса, то есть измение формы Delphi с прямоугольника на эллипс.

 

Изменение формы Delphi
 

 

Создадим новое приложение и разместим на форме три кнопки. Нажатие первой вызовет изменение формы Delphi, то есть внешнего вида окна на эллиптический, а нажатие второй приведёт к исчезновению строки заголовка и цвет фона изменится на красный. Для завершения работы приложения используем третью кнопку. Ниже привожу исходный код приложения изменение формы Delphi 

 

исходник - Изменение формы Delphi
исходник - Изменение формы Delphi
 

 Для того чтобы придать окну нестандартный вид нам не хватило средств Delphi и пришлось использовать Windows API:

  •   Тип данных HRGN: переменная такого типа содержит дескрептор (handle) области экрана произвольной формы.
  •   Функция CreateEllipticRgn создаёт эллиптическую область формы. Аргументы функции задают координаты прямоугольника (левый вехний угол – x,y итак же правый нижний угол), в который вписывается наш эллипс. При этом функция возвращает дескрептор созданной области.
  •  Функция SetWindowRgn сопоставляет окну, заданному этим дескрептором. Область, заданную её дескрептором. А третий аргумент функции – это логическое значение, указывающее на то, нужно ли перирисовывать форму сразу после вызова функции. И если разрешена перерисовка, тогда окно приобретает такую же форму, как указанная область.
  • Дескрептор окна находится в свойстве Handle. Класс TForm так же обладает этим свойством, как и все другие компоненты, созданные на базе TWinControl.

   Информация:

   Формат:RAR.EXE

   Размер: 1,17 mb

  Скачать исходник «изменение формы Delphi »:

Добавить комментарий


Защитный код
Обновить