Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

FormHeader [D6, Win95/98, Win2k]


aaZ ©   (2002-05-05 15:43:00) 

Люди! Такой вопрос: как округлить углы заголовка формы (как в ХР)?
Я, в принципе, ставил BorderStyle:=bsNone, и сам вставлял изображения заголовка и кнопок, но в таком случае по бокам заголовка остаются белые края ( http://moldovacc.md/ashamray/proga.jpg). Подскажите плиз, что можно сделать?


aaZ   (2002-05-05 18:57:00) [1]

Спасибо, отлично работает.


Song   (2002-05-05 18:03:00) [2]


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;


Наверх

Титульная страница Поиск, карта сайта Написать письмо