![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
Элементы управления с закругленными краямиDelphi , Компоненты и Классы , КомпонентыЭлементы управления с закругленными краями
Оформил: DeeCo procedure MakeRounded(Control: TWinControl); var R: TRect; Rgn: HRGN; begin with Control do begin R := ClientRect; rgn := CreateRoundRectRgn(R.Left, R.Top, R.Right, R.Bottom, 20, 20); Perform(EM_GETRECT, 0, lParam(@r)); InflateRect(r, - 5, - 5); Perform(EM_SETRECTNP, 0, lParam(@r)); SetWindowRgn(Handle, rgn, True); Invalidate; end; end; procedure TForm1.Button1Click(Sender: TObject); begin // TMemo: Memo1.BorderStyle := bsNone; MakeRounded(Memo1); // TEdit: Edit2.BorderStyle := bsNone; MakeRounded(Edit2); // TPanel: MakeRounded(Panel1); // TStaticText: MakeRounded(StaticText1); // TForm Form1.BorderStyle := bsNone; MakeRounded(Form1); end; Программный код написан на языке Delphi, который является основой для языка Pascal. Он содержит процедуру Вот шаг за шагом, как работает эта процедура:
В примере кода формы демонстрируется, как использовать эту процедуру для добавления закругленных углов к различным контролам:
Альтернативным решением может быть использование встроенной поддержки Delphi для закругленных углов в стилях. Это требует создания custom стиля с закругленными углами и его применения к контролам или форме. Вот пример, как это можно сделать:
В этом примере мы устанавливаем свойство В статье описывается способ создания элементов управления с закругленными краями в программировании на языке Delphi, используя процедуру MakeRounded и вызывая соответствующие методы для различных типов компонентов. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: Компоненты ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |