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

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

Как в режиме 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 ?


Наверх

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