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 © 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
|