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

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

form [D6, Win95/98, WinME]


angus ©   (2002-09-06 07:46:00) 

Можно ли сделать прозрачную форму?


Vlad1   (2002-09-12 19:31:00) [1]

Это работает:

interface
...................
public
{...}
protected
procedure CreateParams(var Params:TCreateParams);override;
...................

implementation
...................
procedure TForm1.CreateParams(var Params:TCreateParams);
begin
inherited;
Params.ExStyle:=Params.ExStyle or WS_EX_TRANSPARENT;
end;
...................


lenin   (2002-09-06 14:42:00) [2]


> BOA_KAA © (06.09.02 11:47)

Это действует только с Win2000 и XP

> Dimk (06.09.02 12:06)

Я сразу после SetWindowRgn


MaraVit   (2002-09-06 14:39:00) [3]

Мужуки! У меня есть код прозрачной формы, но сюда он не помещается. Так что мыльте, вышлю бандеролем!!!

mvit@ukrpost.net


Dimk   (2002-09-06 12:06:00) [4]

To Lenin
Сразу удалить или после удаления окна?
В доке пишут:
After a successful call to SetWindowRgn, the operating system owns the region specified by the region handle hRgn. The operating 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 close this region handle.
Вот и сомневаюсь. Ты то как делал?


BOA_KAA   (2002-09-06 11:47:00) [5]

Вообще-то достаточно просто установить AlphaBlend для формы в True, и уменьшить значение AlphaBlendValue. 0 - полностью прозрачная форма


lenin   (2002-09-06 11:45:00) [6]

Его желательно удалить: DeleteObject(RGN)


Dimk   (2002-09-06 11:36:00) [7]

Попробовал - работает класс!
Только вопрос: после SetWindowRgn(HWND, RGN, ... )
о RGN можно забыть? То есть удалять его после закрытия окна не надо чтобы ресурсы освободились? А что будет если несколько раз менять регион окна? Не будет потери ресурсов если не удалять использованные регионы?


krotik   (2002-09-06 09:55:00) [8]

> lenin
> Можно не только обрезание, можно менять форму формы
> SetWindowRgn

Я это и имел в виду - неправильно выразился просто


lenin   (2002-09-06 09:41:00) [9]


> sicoz © (06.09.02 09:39)

Сразу XP


sicoz   (2002-09-06 09:39:00) [10]

Переходи на NT или 2000 - в Д6 альфа прозрачность формы вынесена в инспектор объектов. Изменяй и радуйся.


lenin   (2002-09-06 09:17:00) [11]


> krotik © (06.09.02 09:14)


Можно не только обрезание, можно менять форму формы
SetWindowRgn


krotik   (2002-09-06 09:14:00) [12]

Для Win2K и выше можно делать полупрозрачную форму.
А для всех остальных виндов можно делать обрезание формы по краям.
Если интересно как, напиши мыло на krotik@omen.ru -
вышлю свои исходники для D5. Или ищи в FAQах - там все есть.


RV   (2002-09-06 08:44:00) [13]

Win95/98, WinME
?
у меня не получилось


Song   (2002-09-06 08:38:00) [14]

Так только начиная от w2k


Smithson   (2002-09-06 08:35:00) [15]

не работает :-(((


Song   (2002-09-06 08:08:00) [16]

TForm.Canvas.Brush.Style:=bsClear;


Наверх

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