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

Опубиковано: 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 форм



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

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

Gubdenec 02 Apr 2010 в 00:00 #
private
{ Private declarations }
public
{ Public declarations }
procedure WMNCHitTest(var M: TWMNCHitTest); message wm_NCHitTest;
end;

var

Form1: TForm1;


procedure gr;
implementation
....

procedure TForm1.WMNCHitTest(var M: TWMNCHitTest);
begin
inherited; { вызов унаследованного обработчика события }
if M.Result = htClient then { кликнув в области окна? }
M.Result := htCaption; { если так, то мы заставили Windows думать, }
{ что щелчок был на заголовке окна. }
end;
...

двигать форму за что угодно.
спасибо за прогу.
Спасибо за программу 27 Mar 2010 в 00:00 #
Класс, побольше бы таких на сайте
streloc 21 Feb 2010 в 00:00 #
Владимир у меня токая проблема я сделал как написано, запускаю проект и доктор веб выдоит что это Trojan.DownLoad.52419
Павел 11 Feb 2010 в 00:00 #
Чушь собачья, пля пионеров.
095 05 Feb 2010 в 00:00 #
Открылось, один раз сделал и внедрил процедуру .. а второй раз на мышку более не реагировала и все пункты меню были недоступны :)

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