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

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

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.11.2010, 16:47   #1
fezilk25
Форумчанин
 
Регистрация: 01.08.2010
Сообщений: 124
По умолчанию Отрисовка прямоуглольника с закругленными углами

Скачал компонент KMAlert, выводящий всплывающие окошки. Они прямоугольные, с острыми углами. Мне же необходимо сделать углы закругленными.

Вот отрисовка прияумогольной формы:
Код:
procedure TKMAlert.Paint;
var
  R: TRect;
begin
  inherited;
	with Canvas do
  begin
    Brush.Color:= ForegroundColor;
    FillRect(ClientRect);

    R:= ClientRect;
    OffsetRect(R, R.Left, R.Top);
    DrawEdge(Handle, R, EDGE_RAISED, BF_RECT);
    InflateRect(R, -2, -2);
    DrawEdge(Handle, R, EDGE_SUNKEN, BF_RECT);
  end;
end;
PS. Может, легче как-нибудь положить туда картинку, а сам прямоугольник сделать прозрачным(т.е. без заливки), чтобы углы не торчали? Как это реализовать?
fezilk25 вне форума Ответить с цитированием
Старый 17.11.2010, 17:27   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Универсальный способ рисования контролов с закругленными углами:
Код:
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
Memo1.BorderStyle:=bsNone;
MakeRounded(Memo1 as TWinControl);
end;
mihali4 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
рамка с закругленными краями voldemen JavaScript, Ajax 6 22.06.2010 23:33
Таблица с закругленными углами с рамкой Manonia HTML и CSS 6 22.04.2010 09:42
Таблица с закругленнымы углами HOG_Seruj HTML и CSS 5 04.01.2010 21:07
Кнопки с закругленными углами Aboltus Компоненты Delphi 4 28.08.2008 00:10
Работа с углами в Microsoft Excel OlegYalovets Microsoft Office Excel 1 24.09.2007 04:00