|
Quick links:
F-IN-BOX .NET Edition Home Page
| Buy license
| Welcome to our forum!
| Ask your question
| Help on the Web
F-IN-BOX .NET Help >> Classes >> f_in_box__control and f_in_box__form >> Events >> Extensions OnLoadExternalResourceByRelativePath
Syntax
[ C# ]
public delegate void OnLoadExternalResourceByRelativePathEventHandler(object sender, String RelativePath, Stream ContentStream, ref bool Handled); public event OnLoadExternalResourceByRelativePathEventHandler OnLoadExternalResourceByRelativePath; Description
OnLoadExternalResourceByRelativePath is called when a movie tries to load a resource using a relative path:
[ C# ]
private void OnLoadExternalResourceByRelativePath(object sender, String strRelativePath, System.IO.Stream Stream, ref bool Handled)
{
System.IO.Stream FromStream = null;
if (strRelativePath == "images/embedded_image1.jpg")
FromStream = this.GetType().Assembly.GetManifestResourceStream("Sample6_ExternalResourcesEmbedding.Resources.embedded_images.embedded_image1.jpg");
if (strRelativePath == "images/embedded_image2.jpg")
FromStream = this.GetType().Assembly.GetManifestResourceStream("Sample6_ExternalResourcesEmbedding.Resources.embedded_images.embedded_image2.jpg");
if (strRelativePath == "images/embedded_image3.jpg")
FromStream = this.GetType().Assembly.GetManifestResourceStream("Sample6_ExternalResourcesEmbedding.Resources.embedded_images.embedded_image3.jpg");
if (strRelativePath == "images/embedded_image4.jpg")
FromStream = this.GetType().Assembly.GetManifestResourceStream("Sample6_ExternalResourcesEmbedding.Resources.embedded_images.embedded_image4.jpg");
if (strRelativePath == "images/embedded_image5.jpg")
FromStream = this.GetType().Assembly.GetManifestResourceStream("Sample6_ExternalResourcesEmbedding.Resources.embedded_images.embedded_image5.jpg");
if (strRelativePath == "images/external_image.jpg")
{
if (OpenJPEGFileDialog.ShowDialog() == DialogResult.OK)
FromStream = OpenJPEGFileDialog.OpenFile();
}
if (FromStream != null)
{
const int size = 64 * 1024;
byte[] buffer = new byte[size];
int ReadBytes;
while ( (ReadBytes = FromStream.Read(buffer, 0, size)) > 0 )
{
try
{
Stream.Write(buffer, 0, size);
}
catch (System.IO.IOException /* e */ )
{
// Loading is interrupted
break;
}
}
Stream.Close();
Handled = true;
}
}
[ VB.Net ]
Private Sub f_in_box__control1_OnLoadExternalResourceByRelativePath(ByVal sender As Object, ByVal URL As String, ByVal Stream As System.IO.Stream, ByRef Handled As Boolean) Handles f_in_box__control1.OnLoadExternalResourceByRelativePath
Dim FromStream As System.IO.Stream = Nothing
If URL = "images/embedded_image1.jpg" Then
FromStream = Me.GetType().Assembly.GetManifestResourceStream("Sample6_ExternalResourcesEmbedding.embedded_image1.jpg")
End If
If URL = "images/embedded_image2.jpg" Then
FromStream = Me.GetType().Assembly.GetManifestResourceStream("Sample6_ExternalResourcesEmbedding.embedded_image2.jpg")
End If
If URL = "images/embedded_image3.jpg" Then
FromStream = Me.GetType().Assembly.GetManifestResourceStream("Sample6_ExternalResourcesEmbedding.embedded_image3.jpg")
End If
If URL = "images/embedded_image4.jpg" Then
FromStream = Me.GetType().Assembly.GetManifestResourceStream("Sample6_ExternalResourcesEmbedding.embedded_image4.jpg")
End If
If URL = "images/embedded_image5.jpg" Then
FromStream = Me.GetType().Assembly.GetManifestResourceStream("Sample6_ExternalResourcesEmbedding.embedded_image5.jpg")
End If
If URL = "images/external_image.jpg" Then
If OpenJPEGFileDialog.ShowDialog() = DialogResult.OK Then
FromStream = OpenJPEGFileDialog.OpenFile()
End If
End If
If Not FromStream Is Nothing Then
' Also you can write content in a separate thread
Const Size = 64 * 1024
Dim buffer(Size) As Byte
Dim ReadBytes As Integer
While True
ReadBytes = FromStream.Read(buffer, 0, Size)
If ReadBytes = 0 Then Exit While
Try
Stream.Write(buffer, 0, ReadBytes)
Catch e As System.IO.IOException
' Loading is interrupted
Exit While
End Try
End While
Stream.Close()
Handled = True
End If
End Sub
Copyright © 2004 - 2008 Softanics. All rights reserved. F-IN-BOX is a trademark of Softanics. Macromedia and Shockwave Flash are trademarks of Adobe
Quick links:
F-IN-BOX .NET Edition Home Page
| Buy license
| Welcome to our forum!
| Ask your question
| Help on the Web
|