在WPF工程中插入Flash对象
如何在 WPF 中嵌入 Flash (ActiveX)
背景
最近一个 Partner 希望将以前的 Flash 嵌入到一个全新的 WPF 应用中,将 WPF 在 .NET 3.0 下丰富的用户体验和 Flash 动画相结合,更好地服务于其用户。
嵌入 Flash 相当于嵌入一个 ActiveX 控件,在嵌入过程中也有一些比较 Tricky 的地方需要注意,下面就在 WPF Application 中嵌入 Flash 控件的步骤进行简要说明,并将遇到的一些需要注意的问题进行提示。
开发环境
Visual Studio 2008 Beta1 (Code name: Orcas), Windows Vista, Flash Player 9,
方法
1. 建立 WPF Application。
首先,建立一个名为 FlashinWPF 的 WPF Application
2. 设置 Window 属性。
在 XAML 中修改 Window 的属性,加入 Loaded 事件,设置默认 Grid 的 x:Name 标示为 "FlashGrid" 更改后代码如下:
<Window x:Class="FlashinWPF.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Flash in WPF" Loaded="WindowLoaded" Height="500" Width="600">
<Grid x:Name="FlashGrid">
</Grid>
</Window>
3. 建立 Windows Forms Control Library
WPF Application 作为一个展现层的项目,不能自身插入 COM Component,所以需要借助 Windows Form 引入 ActiveX 控件。
4. 插入 Shockwave Flash Object
在 Toolbox 中点击右键,选择"Choose Items..." 添加 COM Components
Tricky Point: 在 COM Component中还有一个 Macromedia Flash Factory Object 同样链接到C:\Windows\System32\Macromed\Flash\Flash9c.ocx 中,但在这里不要选择这个 Component, 否则会出现“Failed to import the ActiveX control” 可以利用 regsvr32.exe Flash9c.ocx 在命令行中注册 Flash9c.ocx 控件。会出现如下注册成功提示:
5. 创建 Flash Object
添加一个 Shockwave Flash Object 后会自动在 Flash Control 的项目中增加一个名为AxShockwaveFlashObjects 的对象。
在 UserControl1.Designer.cs 中会默认添加 axShockwaveFlash1 对象。
private AxShockwaveFlashObjects.AxShockwaveFlash axShockwaveFlash1;
6. 编译 Flash Control
7. 在 FlashinWPF 中增加 Reference
相关文档:
最近发现在google或者baidu听mp3的时候.flash中的文字显示的全部都是乱码...很难看! 遂google了一下. 找到了解决方法. 分享一下:
sudo vi /etc/fonts/conf.d/49-sansserif.conf
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<!--
If the font still h ......
http://code.google.com/p/minimalcomps/
相信大家都会记得keith peters 吧,而现在他又带来一些不错的flash 轻量级的组件。如果有兴趣可以下载这个项目来应用到你的程序当作,相信有个不错的收获。
这套组件建立在快速的创建的基础上,省去了flash自带的皮肤等功能,下面是小小的测试:
package
{
import flash.dis ......
在nios2平台下,在NiosII Command shell使用nios2-flash-programmer命令烧写flash时容易出现“no cfi table found”的错误,可能以下几种原因造成的:
1.地址搞错,指定的地址不是flash的起始地址;
2.参数设置错误,在SOPC Builder中检查CFI Flash的设置参数,如timing选项卡容易漏掉设置。
3.设计有问题,Fl ......
简单的类,简化自己读取xml的过程
ReadXML.as
package
{
import flash.display.Sprite;
import flash.display.Loader;
import flash.display.Sprite;
import flash.events.Event;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.system.System;
import flash.events.EventDis ......