Недавно бродя по просторам интернета наткнулся на очень интересную программу. Все дело в том что программа позволяет с помощью встроенного визуального редактора создавать формы практически любой сложности (круг, ёлочка, треугольник, звезда), а после чего генерировать код, для вставки его в ваше Delphi приложение. Например, хочу я что бы Форма в моём delphi приложении была не квадратная а овальная. Раньше бы мне пришлось писать все это ручками, но с появлением этой замечательной программы все стало намного проще.
1. Открываем программу, рисуем нужную нам форму 2. Жмем на кнопку преобразовать, выбираем путь и название текстового файла для сохранения в нем кода. 3. Вставляем полученный код в свою программу! 4. Все.
Теперь немного поясню, как вставить полученный код в свою программу. Рассказывать буду на собственном примере. Итак, в текстовом файле у меня получился вот такой код:
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 (вторая строка)
А вот что получилось у меня после запуска:
P.S. Рисовать такие формы в программе, тоже очень просто: кликаем один раз по значку и начинаем рисовать используя правую кнопку мышки.
|