![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как в режиме RunTime НОРМАЛЬНО изменить форму TForm? [D6, D7, WinXP]
SkySpeed © (2007-04-09 18:12:00)Пробую так:
procedure TForm1.Button1Click(Sender: TObject);
var
s:HRGN;
begin
s:=CreateEllipticRgn(0,0,Width-1,Height-1);
SetWindowRgn(Handle,s,False);
DeleteObject(s);
end;
В результате форма вид ПОЧТИ не меняет.
Почти - то есть если под формой произойдёт прорисовка, то "лишняя" область удалится, иначе останется обычная прямоугольная форма
Что нужно дописать/изменить, чтобы форма нормально прорисовывалась?
Johnmen (2007-04-09 22:58:00) [1]
> SkySpeed (09.04.07 18:12)
...
SetWindowRgn(Handle,s, True);
...
sniknik (2007-04-09 21:42:00) [2]> то есть если под формой произойдёт прорисовка
ну так сделай ее...
RedrawWindow(GetDesktopWindow(), 0, 0, RDW_INVALIDATE or RDW_UPDATENOW or RDW_ALLCHILDREN);
SkySpeed (2007-04-09 18:57:00) [3]
> Darvin © (09.04.07 18:28) [1]
> Refresh ?
>
>
>
> clickmaker © (09.04.07 18:29) [2]
> Refresh, Repaint, Invalidate?
Не подходит...
Нужно обновить всё то, что находится за пределами формы...
Попробуйте сами код прописать
clickmaker (2007-04-09 18:29:00) [4]Refresh, Repaint, Invalidate?
Darvin (2007-04-09 18:28:00) [5]Refresh ?