Flasher Archive

[Previous] [Next] - [Index] [Thread Index] - [Previous in Thread] [Next in Thread]


Subject: FLASH: Flash Control - Transparency
From: Jeetendra_Dhall/Learnet%com
Date: Thu, 30 Nov 2000 16:07:35 GMT

ActiveX Documents(Container) - making flash control transparent

Hi! I am developing a container in VC++ (COleClientItem and COleDocument).
I need to make Shockwave Flash control (provided by Macromedia)
transparent,
but i am not getting through.

Behaviour in Visual Basic -

The default WMode property of the control is "window".
At design time if the WMode property is "window" (default value), then when
we run the form
and change the WMode property to "Transparent" through script, then the
control doesnt become transparent.
When we return to design mode, changine the property to "Transparent" or
"Window" has no effect.

The default WMode property of the control is "window".
At design time if the WMode property is changed to "Transparent", the
control doesnt become transparent.
Then when we run the form,
the control becomes transparent. And we can toggle between "Window" and
"Transparent" mode by writing script.
But the change needs a refresh - i.e, the change happens on the screen if
we refresh the form
by minimizing and later maximising it.
Also, at design time (the very first time), Visual Basic made a window for
the control in the form.
When I changed the WMode to "Transparent", the control doesnt become
transparent as mentioned above.
And the control still has a window. But when the form is run, the control
becomes transparent,
and also windowless. When we return to design mode - by closing the form,
the control is transparent on the form and is windowless.
Hereafter the control remains windowless. Now in design mode, we can change
between "Transparent"
and "Window", but it needs a refresh again. Also, the property sheet needs
to be closed for every toggle.


Behaviour in Visual C++ -

I inserted the Flash control in Visual C++ from the component gallery.
The class had a Create Function. I used the Create function and created the
control,
called SetMovie and SetWMode, but the control didnt appear transparent.


My project using Visual C++ -

I am using COleClientItem and COleDocument.
First I tried creating the control and setting the WMode property through
COleDispatchDriver.
The control doesnt become transparent, but it shows the value of WMode as
"Transparent" in its property sheet.
>From Visual Basic behaviour I thought that the WMode needs to be
transparent before the control is run in OLEIVERB_SHOW mode.
So I created a temporary storage (STGCreateDocFile), and created a stream
on it (COleStreamFile).
Then I created a temporary flash control, made its WMode property
transparent,
got its IPersistStreamInit property and saved the control to the stream.
Then I created the actual control, queried for its IPersistStreamInit and
called IPersistStreamInit->Load()
passing the stream where the temporary control was saved. The control
created showed its WMode property as "Transparent",
but did not become transparent.

Hints - IQuickActivate is supported by the control and i am using it.

regards,
Jeetendra Dhall

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
flasher is generously supported by...
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
flashforward2000 and the Flash(tm) Film Festival
November 27-29, 2000, LONDON, National Film Theatre

Produced by United Digital Artists and lynda.com
-Sponsored by Macromedia, Adobe Systems and Apple Computer
-http://www.flashforward2000.com or UK tel. +44 (0870) 751 1526
Register before November 10 and save 200
http:// www.flashforward2000.com
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
To unsubscribe or change your list settings go to
http://www.chinwag.com/flasher or email helpatchinwag [dot] com


[Previous] [Next] - [Index] [Thread Index] - [Next in Thread] [Previous in Thread]