Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.05.2011, 08:21   #1
Cassius
Пользователь
 
Регистрация: 04.12.2009
Сообщений: 28
По умолчанию Создание формы ввиде звезды!

Теперь самый интересный из предусмотренных примеров – создание окна и кнопок в форме многоугольников, а конкретно: окна в форме звезды, кнопок в форме треугольника, пяти– и шестиугольника

Окно и кнопки в форме многоугольников

Создание регионов для областей отсечения формы, показанной на рис. 1.7, выглядит следующим образом (листинг 1.12).
Код:
 procedure TfrmPoly.FormCreate(Sender: TObject);
    var
    points: array [0..5] of TPoint;
    formRgn, but1Rgn, but2Rgn, but3Rgn: HRGN;
    begin
    //Создаем регионы для окна и кнопок
    //..шестиугольная кнопка
    Make6Angle(Button1.Width, Button1.Height, points);
    but1Rgn:= CreatePolygonRgn(points, 6, WINDING);
    SetWindowRgn(Button1.Handle, but1Rgn, False);
    //..треугольная кнопка
    Make3Angle(Button2.Width, Button2.Height, points);
    but2Rgn:= CreatePolygonRgn(points, 3, WINDING);
    SetWindowRgn(Button2.Handle, but2Rgn, False);
    //..пятиугольная кнопка
    Make5Angle(Button3.Width, Button3.Height, points);
    but3Rgn:= CreatePolygonRgn(points, 5, WINDING);
    SetWindowRgn(Button3.Handle, but3Rgn, False);
    //..форма в виде звезды
    MakeStar(Width, Height, points);
    formRgn:= CreatePolygonRgn(points, 5, WINDING);
    SetWindowRgn(Handle, formRgn, False);
    end;
Особенностью создания регионов в приведенном листинге является использование дополнительных процедур для заполнения массива points координатами точек-вершин многоугольников определенного вида. Все эти процедуры принимают, помимо ссылки на сам массив points, ширину и высоту прямоугольника, в который должен быть вписан многоугольник. Процедура создания треугольника приводится в листинге 1.13.

а как на таком же сделать кнопки в ввиде:
Cassius вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Формула излучения звезды. Rin Мультимедиа в Delphi 6 26.03.2011 21:16
убрать звезды mrgrudge JavaScript, Ajax 5 13.05.2010 03:17
Переделать ввиде меню! raspberry Общие вопросы C/C++ 0 05.04.2010 23:33
Запрос на выборку ввиде формы malecdima Microsoft Office Access 2 02.10.2009 11:32
Смотрим на звезды ! Levsha100 Свободное общение 9 13.08.2009 03:05