Создаём формы любой сложности

Опубиковано: 11.01.2009 г., автор: , просмотров: 177361

Недавно бродя по просторам интернета наткнулся на очень интересную программу. Все дело в том что программа позволяет с помощью встроенного визуального редактора создавать формы практически любой сложности (круг, ёлочка, треугольник, звезда), а после чего генерировать код, для вставки его в ваше Delphi приложение. Например, хочу я что бы Форма в моём delphi приложении была не квадратная а овальная. Раньше бы мне пришлось писать все это ручками, но с появлением этой замечательной программы все стало намного проще.

  1. Открываем программу, рисуем нужную нам форму
  2. Жмем на кнопку преобразовать, выбираем путь и название текстового файла для сохранения в нем кода
  3. Вставляем полученный код в свою программу!
  4. Все.

delphi программа для создания форм

Теперь немного поясню, как вставить полученный код в свою программу. Рассказывать буду на собственном примере. Итак, в текстовом файле у меня получился вот такой код:

X := 211
Y := 248
procedure CreateWindowsRegions(const X, Y : Integer; const RegionHandle : THandle);
var
PointsArray : Array[0..4] of TPoint;
FirstRegion, SecondRegion, CombineRegion : THandle;
begin
PointsArray[0] := Point(0 + X, 0 + Y);
PointsArray[1] := Point(0 + X, 130 + Y);
PointsArray[2] := Point(200 + X, 130 + Y);
PointsArray[3] := Point(110 + X, 70 + Y);
PointsArray[4] := Point(200 + X, 0 + Y);
FirstRegion := CreatePolygonRGN(PointsArray, 5, Winding);
CombineRegion := FirstRegion;
SetWindowRGN(RegionHandle, CombineRegion, true);
end;

Далее в Delphi я создал новый проект и после ключевого слова public написал:
procedure CreateWindowsRegions(const X, Y : Integer; const RegionHandle : THandle); - т.е. название процедуры и её параметры.

Нажимаю CTRL+SHIFT+C
Delphi сгенерировал шаблон для этой процедуры. Ну а дальше все просто, я добавил в шаблон недостающие строчки из полученного кода.
Важно: первые две строчки, у меня этоX := 211 иY := 248 добавлять не надо!

Далее я создал обработчик событий OnCreate на форме и между begin ... end прописал вот такой код:

CreateWindowsRegions(211, 248, Handle); - Где CreateWindowsRegions - имя процедуры, 211- параметр X (первая строка), 248 - параметр Y (вторая строка)

А вот что получилось у меня после запуска:

Delphi форма

P.S. Рисовать такие формы в программе, тоже очень просто: кликаем один раз по значку и начинаем рисовать используя правую кнопку мышки.

До встречи DelphiExpert.ru !!!

Скачать программу Регионы 7 - проектирование Delphi форм



Похожие материалы

Последние из рубрики

Energyzer 01 Jun 2012 в 00:00 #
На Windows 7 x64 выдает ошибку и не запускается, а на XP работает норм
Sergey 17 Apr 2012 в 00:00 #
Реально прикольная програмка. Все очень быстро делается. Спасибо автору! Один минус что визуально нельзя расставлять компоненты.
Вот только не знаю как сделать что бы было меню (MainMenu)?? Может кто подскажет, если у меня форму вся не стандартная?
Dima 16 Dec 2011 в 00:00 #
Все это лажа.
А как ты сделаешь форму например ввиде области какой-нибудь страны (Россия, Украина ...) тоже будешь все границы отрисовывать :-))).

Один раз написать функцию, которая берет любую картинку или несколько (например Германия).
Предварительно в функции задается цвет который будет ассоциироваться с прозрачным (например фиолетовый). Далее ф-ция по пиксельно просматривает картинку и если текущий пиксер фиолетовый - то при отрисовке формы он будет невидимый исли нет - будет отображаться.

На выходе получается форма ввиде "Германии", ну соответственно добавляем обработчики таскания формы за любое место, ну т.д.
И эта функция скушает картинку любой сложности и без проблем отрисует форму.

А чтобы не писать это каждый раз можно добавить в репозиторий.
Владимир 09 Nov 2011 в 00:00 #
Пригодится, Спасибо!
awkaw 19 May 2011 в 00:00 #
Спасибо огромное!!! Всегда любил ваш сайт!!!

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