Полупрозрачное окно

  • Автор темы ARTHES
  • Дата начала
A

ARTHES

#1
Здравствуйте.

Проигрываю в окне видео-файл в Panel-е.
Делаю окно полупрозрачным: (Builder 5)
Код:
SetWindowLong(Handle, GWL_EXSTYLE, GetWindowLong(Handle, GWL_EXSTYLE) | WS_EX_LAYERED);
SetLayeredWindowAttributes(Handle, 0, 128, LWA_ALPHA);
Application->ProcessMessages();
Затем опять непрозрачным:
Код:
SetLayeredWindowAttributes(Handle, 0, 255, LWA_ALPHA);
Как только делаю окно полупрозрачным, видео в Panel-е начинает "мерцать", делаю снова непрозрачным, видео продолжает "мерцать".
Сворачиваю окно, видео идет на рабочем столе НЕ МЕРЦАЯ в том месте, где был мой Panel, разврачиваю окно - видео опять мерцает, как будто "пробивается" через мою форму.
Когда окно полупрозрачное, видео проигрывать не нужно. Как сделать, чтобы видео не мерцало после того, как снова сделал окно непрозрачным???

Может кто сталкивался, подскажите.
Заранее благодарен.
 

morpheus

скриптописец
07.08.2006
3 915
1
#2
папробуйте AlphaBlend = True в свойствах формы поставить
 
A

ARTHES

#3
AlphaBlend в свойствах формы появилось только с 6-ым Builder-ом, а я программю на 5-ом :(
 
G

GRLEX

#4
может твоя панель как то теряет родителя,
поэтому видео и остается на экране B)
 
G

GRLEX

#6
Попробуй после того как ты делаешь что-нибудь с окном, задать насильно родителя панели.
Там свойство у панели должно быть - parent, или чтото типа того
 
A

ARTHES

#7
У Panel1 есть только следующие свойства:
Код:
Panel1->ParentBiDiMode = true;
Panel1->ParentColor = false;
Panel1->ParentCtl3D = true;
Panel1->ParentFont = true;
Panel1->ParentShowHint = true;
и при переходе фориы в режим полупрозрачности, затем снова непрозрачности они все сохраняют свои значения...
А вообще можно указать родителя компоненту?