Последние записи
- TChromium (CEF3), сохранение изображений
- Как в Delphi XE обнулить таймер?
- Изменить цвет шрифта TextBox на форме
- Ресайз PNG без потери прозрачности
- Вывод на печать графического файла
- Взаимодействие через командную строку
- Перенести программу из Delphi в Lazarus
- Определить текущую ОС
- Автоматическая смена языка (раскладки клавиатуры)
- Сравнение языков на массивах. Часть 2
Интенсив по Python: Работа с API и фреймворками 24-26 ИЮНЯ 2022. Знаете Python, но хотите расширить свои навыки?
Slurm подготовили для вас особенный продукт! Оставить заявку по ссылке - https://slurm.club/3MeqNEk
Online-курс Java с оплатой после трудоустройства. Каждый выпускник получает предложение о работе
И зарплату на 30% выше ожидаемой, подробнее на сайте академии, ссылка - ttps://clck.ru/fCrQw
26th
Сен
Создание формы с закругленными краями и выноской
Posted by micher under Delphi
_-Re@l-_
Как сделать непрямоугольное окно формы?
Прик
Пример создание формы с закругленными краями и выноской.
В примере выноска создается функцией CreatePolygonRgn. Никто не мешает применяя эту функцию создавать окно произвольной формы. В процедуру события OnPaint формы:
procedure TForm1.FormPaint(Sender: TObject);
var rc : TRect; Rgn, Rgn2 : HRGN;
a : array[0..3] of TPoint;
begin
GetWindowRect(Handle, rc);
OffsetRect(rc, -rc.left, -rc.top);
rc.Bottom := rc.Bottom - 20;
DeleteObject(Rgn);
// создание региона в виде прямоугольника с закругленными краями
Rgn := CreateRoundRectRgn(
rc.left, rc.top, rc.right, rc.bottom, 15, 15);
// выноска
a[0] := Point(25, rc.Bottom-2);
a[1] := Point(25, rc.Bottom+20);
a[2] := Point(47, rc.Bottom-2);
a[3] := Point(25, rc.Bottom-2);
Rgn2 := CreatePolygonRgn(a, 4, WINDING);
// объединение двух регионов
CombineRgn(Rgn, Rgn, Rgn2, RGN_OR);
// рамка вокруг объединенного региона
FrameRgn(GetDC(Handle), Rgn, CreateSolidBrush(clBlack), 1, 1);
SetWindowRgn(Handle, Rgn, TRUE);
end;
Случайные статьи
Купить рекламу на сайте за 1000 руб
пишите сюда - alarforum@yandex.ru
Да и по любым другим вопросам пишите на почту
пеллетные котлы
Пеллетный котел Emtas
Наши форумы по программированию:
- Форум Web программирование (веб)
- Delphi форумы
- Форумы C (Си)
- Форум .NET Frameworks (точка нет фреймворки)
- Форум Java (джава)
- Форум низкоуровневое программирование
- Форум VBA (вба)
- Форум OpenGL
- Форум DirectX
- Форум CAD проектирование
- Форум по операционным системам
- Форум Software (Софт)
- Форум Hardware (Компьютерное железо)