Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Полупрозрачное окно
Форум программистов > Системное программирование > C, С++ и С Builder > Borland C++ Builder & Kylix
ARTHES
Здравствуйте.

Проигрываю в окне видео-файл в 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
папробуйте AlphaBlend = True в свойствах формы поставить
ARTHES
AlphaBlend в свойствах формы появилось только с 6-ым Builder-ом, а я программю на 5-ом sad.gif
GRLEX
может твоя панель как то теряет родителя,
поэтому видео и остается на экране dry.gif
ARTHES
Как это проверить?
GRLEX
Попробуй после того как ты делаешь что-нибудь с окном, задать насильно родителя панели.
Там свойство у панели должно быть - parent, или чтото типа того
ARTHES
У Panel1 есть только следующие свойства:
Код
Panel1->ParentBiDiMode = true;
Panel1->ParentColor = false;
Panel1->ParentCtl3D = true;
Panel1->ParentFont = true;
Panel1->ParentShowHint = true;


и при переходе фориы в режим полупрозрачности, затем снова непрозрачности они все сохраняют свои значения...
А вообще можно указать родителя компоненту?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2008 IPS, Inc.