IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> Создание формы произвольного вида...
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 7
Пол: Мужской

Репутация: -  0  +


Вобщем, я делаю форму произвольного вида, вот таким способом (в данном случае круглую):
 R1 := CreateElliPticRgn(0,0,100,100);
SetWindowRgn(Handle, R1, True);


и я хочу сделать вокруг нее оборку (как бы подчеркнуть границу формы), вот так -
	 Canvas.Brush.Color := clBlack; 
FrameRgn (Canvas.Handle, R1, Canvas.Brush.Handle, 2, 2);


Но в результате ни чего не изменилось - получается та же форма без оборки..
Собственно сам вопрос - как сделать вокруг формы рамку (оборку)?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Гость






И не будет...

Читаем здесь: MSDN:: SetWindowRgn
Цитата
After a successful call to SetWindowRgn, the system owns the region specified by the region handle hRgn. The system does not make a copy of the region. Thus, you should not make any further function calls with this region handle. In particular, do not delete this region handle. The system deletes the region handle when it no longer needed.


Попробуй это:
procedure TForm1.FormCreate(Sender: TObject);
var
region: HRGN;
begin
BorderStyle := bsNone;
region := CreateEllipticRgn(0, 0, 100, 100);
SetWindowRgn(Handle, region, True);
end;

procedure TForm1.FormPaint(Sender: TObject);
var
T: HRGN;
begin
Canvas.Brush.Color := clBlack;

T := CreateEllipticRgn(0, 0, 100, 100);
try
FrameRgn(Canvas.Handle, TempRgn, Canvas.Brush.Handle, 2, 2);
finally
DeleteObject(TempRgn);
end;

end;
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 19.04.2024 13:37
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name