Files
Client/Library/dxx8/samples/Multimedia/VBSamples/DirectShow/Editing/SlideShowVB/SourceClip.ctl
LGram16 e067522598 Initial commit: ROW Client source code
Game client codebase including:
- CharacterActionControl: Character and creature management
- GlobalScript: Network, items, skills, quests, utilities
- RYLClient: Main client application with GUI and event handlers
- Engine: 3D rendering engine (RYLGL)
- MemoryManager: Custom memory allocation
- Library: Third-party dependencies (DirectX, boost, etc.)
- Tools: Development utilities

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 16:24:34 +09:00

941 lines
46 KiB
Plaintext

VERSION 5.00
Begin VB.UserControl SourceClip
BackColor = &H00FF0000&
BorderStyle = 1 'Fixed Single
ClientHeight = 2100
ClientLeft = 0
ClientTop = 0
ClientWidth = 1860
EditAtDesignTime= -1 'True
KeyPreview = -1 'True
LockControls = -1 'True
OLEDropMode = 1 'Manual
ScaleHeight = 2100
ScaleWidth = 1860
ToolboxBitmap = "SourceClip.ctx":0000
Begin VB.Frame fraFixture
BackColor = &H00000000&
BorderStyle = 0 'None
Height = 2115
Left = 0
OLEDropMode = 1 'Manual
TabIndex = 0
Top = 0
Width = 1815
Begin VB.Label lblClipName
Alignment = 2 'Center
Appearance = 0 'Flat
BackColor = &H80000005&
BackStyle = 0 'Transparent
ForeColor = &H00FFFFFF&
Height = 255
Left = 0
OLEDropMode = 1 'Manual
TabIndex = 1
Top = 1800
Width = 1815
End
Begin VB.Image imgSourceClip
Appearance = 0 'Flat
BorderStyle = 1 'Fixed Single
Height = 1695
Left = 0
OLEDropMode = 1 'Manual
Picture = "SourceClip.ctx":0312
Stretch = -1 'True
Top = 0
Width = 1815
End
End
End
Attribute VB_Name = "SourceClip"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
'*******************************************************************************
'* This is a part of the Microsoft DXSDK Code Samples.
'* Copyright (C) 1999-2001 Microsoft Corporation.
'* All rights reserved.
'* This source code is only intended as a supplement to
'* Microsoft Development Tools and/or SDK documentation.
'* See these sources for detailed information regarding the
'* Microsoft samples programs.
'*******************************************************************************
Option Explicit
Option Base 0
Option Compare Text
Private m_bstrFilter As String
Private m_nBorderStyle As Long
Private m_nBorderColor As Long
Private m_bstrMediaFile As String
Private m_sngBorderSize As Single
Private m_boolShowMediaInfo As Boolean
'default application value(s)
Private Const APP_SEPTUM_SIZE As Single = 60 'default septum size; in twips
Private Const APP_DIVISIONAL_PERCENTAGE As Single = 0.75 'default divisional; in percent
'default design-time property value(s)
Private Const DEFAULT_BORDERSIZE As Single = 5 'default border size, in pixels
Private Const DEFAULT_BORDERSTYLE As Long = 1 'default border style
Private Const DEFAULT_BORDERCOLOR As Long = vbBlack 'default border color, vbBlack
Private Const DEFAULT_SHOWMEDIAINFO As Boolean = True 'default show info pane
Private Const DEFAULT_MEDIAFILE As String = vbNullString 'default media file path/name
Private Const DEFAULT_FILTER As String = ".avi;.mov;.mpg;.mpeg;.bmp;.jpg;.jpeg;.gif" 'default supported video media files
' **************************************************************************************************************************************
' * PUBLIC INTERFACE- EVENTS
' *
' *
Public Event Import(bstrFileName As String, Cancel As Boolean)
Attribute Import.VB_Description = "Occurs when media is imported into the control by a user. Set 'Cancel' to true to inhibit the operation."
' **************************************************************************************************************************************
' * PUBLIC INTERFACE- CONTROL ENUMERATIONS
' *
' *
Public Enum SRCClipBorderStyleConstants
None = 0
FixedSingle = 1
End Enum
' **************************************************************************************************************************************
' * PUBLIC INTERFACE- CONTROL PROPERTIES
' *
' *
' ******************************************************************************************************************************
' * procedure name: BorderColor
' * procedure description: Returns either the elected or default border color.
' *
' ******************************************************************************************************************************
Public Property Get BorderColor() As OLE_COLOR
Attribute BorderColor.VB_Description = "Returns or assigns the controls border color."
Attribute BorderColor.VB_ProcData.VB_Invoke_Property = ";Appearance"
On Local Error GoTo ErrLine
'obtain from module-level
BorderColor = m_nBorderColor
Exit Property
ErrLine:
Err.Clear
Exit Property
End Property
' ******************************************************************************************************************************
' * procedure name: BorderColor
' * procedure description: Allows the client to assign a color to the controls border.
' *
' ******************************************************************************************************************************
Public Property Let BorderColor(RHS As OLE_COLOR)
On Local Error GoTo ErrLine
'assign to module-level
m_nBorderColor = RHS
'reset bordercolor
If UserControl.BackColor <> RHS Then
UserControl.BackColor = RHS
End If
Exit Property
ErrLine:
Err.Clear
Exit Property
End Property
' ******************************************************************************************************************************
' * procedure name: BorderStyle
' * procedure description: Returns the style of the border around the control. Arguments are 0 - None or 1- Fixed Single
' *
' ******************************************************************************************************************************
Public Property Get BorderStyle() As SRCClipBorderStyleConstants
Attribute BorderStyle.VB_Description = "Returns or assigns the style of the border around the control. Arguments are 0 - None or 1- Fixed Single"
Attribute BorderStyle.VB_ProcData.VB_Invoke_Property = ";Appearance"
On Local Error GoTo ErrLine
'obtain from module-level
BorderStyle = m_nBorderStyle
Exit Property
ErrLine:
Err.Clear
Exit Property
End Property
' ******************************************************************************************************************************
' * procedure name: BorderStyle
' * procedure description: Assigns the style of the border around the control. Arguments are 0 - None or 1- Fixed Single
' *
' ******************************************************************************************************************************
Public Property Let BorderStyle(RHS As SRCClipBorderStyleConstants)
On Local Error GoTo ErrLine
'assign to module-level
m_nBorderStyle = RHS
'update borderstyle of the component
If RHS = None Then
Me.BorderSize = 0
End If
Exit Property
ErrLine:
Err.Clear
Exit Property
End Property
' ******************************************************************************************************************************
' * procedure name: BorderSize
' * procedure description: Returns the width of the controls border, in pixels.
' *
' ******************************************************************************************************************************
Public Property Get BorderSize() As Single
Attribute BorderSize.VB_Description = "Returns or assigns the width of the controls border, in pixels."
Attribute BorderSize.VB_ProcData.VB_Invoke_Property = ";Appearance"
On Local Error GoTo ErrLine
'obtain from module-level
BorderSize = m_sngBorderSize
Exit Property
ErrLine:
Err.Clear
Exit Property
End Property
' ******************************************************************************************************************************
' * procedure name: BorderSize
' * procedure description: Assigns the width of the controls border, in pixels.
' *
' ******************************************************************************************************************************
Public Property Let BorderSize(RHS As Single)
On Local Error GoTo ErrLine
'assign to module-level; convert to pixels
m_sngBorderSize = CLng((RHS))
'if the bordersize is zero then reset the borderstyle to None
If RHS = 0 Then
Me.BorderStyle = None
Call UserControl_Resize
Else: Call UserControl_Resize
End If
Exit Property
ErrLine:
Err.Clear
Exit Property
End Property
' ******************************************************************************************************************************
' * procedure name: Filter
' * procedure description: Returns the semi colon delimited filter string for media MediaFile/export.
' * Similar to the common dialog filter property. Valid Filter String Example: ".avi;.mpg;.bmp"
' ******************************************************************************************************************************
Public Property Get Filter() As String
Attribute Filter.VB_Description = "Returns or assigns a semi colon delimited filter string for media MediaFile/export. Similar to the common dialog filter property. Valid Filter String Example: "".avi;.mpg;.bmp"""
Attribute Filter.VB_ProcData.VB_Invoke_Property = ";Misc"
On Local Error GoTo ErrLine
'return the filter
Filter = m_bstrFilter
Exit Property
ErrLine:
Err.Clear
Exit Property
End Property
' ******************************************************************************************************************************
' * procedure name: Filter
' * procedure description: Assigns the semi colon delimited filter string for media MediaFile/export.
' * Similar to the common dialog filter property. Valid Filter String Example: ".avi;.mpg;.bmp"
' ******************************************************************************************************************************
Public Property Let Filter(RHS As String)
On Local Error GoTo ErrLine
'assign the filter
m_bstrFilter = RHS
Exit Property
ErrLine:
Err.Clear
Exit Property
End Property
' ******************************************************************************************************************************
' * procedure name: MediaFile
' * procedure description: Assigns the given media file to the control and maps it to the control for preview.
' *
' ******************************************************************************************************************************
Public Property Let MediaFile(RHS As String)
Dim nStreams As Long
Dim boolCancel As Boolean
Dim objMediaDet As MediaDet
On Local Error GoTo ErrLine
'raiseevent
RaiseEvent Import(RHS, boolCancel)
If boolCancel = True Then Exit Property
'assign to module-level
m_bstrMediaFile = RHS
If HasVideoStream(RHS) Then
'the media has been verified as having at least (1) valid video stream
'so obtain a bitmap of the first frame of the first file dragged on to the usercontrol
'or any of it's contingent controls and proceed to write out the bitmap to a temporary
'file in the temp directory. From the temp file we can load the poster frame into the control.
Set objMediaDet = New MediaDet
objMediaDet.FileName = RHS
Call objMediaDet.WriteBitmapBits(0, CLng(imgSourceClip.Width / Screen.TwipsPerPixelX), CLng(imgSourceClip.Height / Screen.TwipsPerPixelY), CStr(GetTempDirectory & App.EXEName & ".bmp"))
'map the bitmap back to the temporary surface
If Not LoadPicture(GetTempDirectory & App.EXEName & ".bmp") Is Nothing Then _
Set imgSourceClip.Picture = LoadPicture(GetTempDirectory & App.EXEName & ".bmp")
If InStrRev(RHS, "\") > 0 Then
lblClipName.Caption = Trim(LCase(Mid(RHS, InStrRev(RHS, "\") + 1, Len(RHS))))
lblClipName.ToolTipText = Trim(LCase(Mid(RHS, InStrRev(RHS, "\") + 1, Len(RHS))))
imgSourceClip.ToolTipText = Trim(LCase(Mid(RHS, InStrRev(RHS, "\") + 1, Len(RHS))))
Else
lblClipName.Caption = vbNullString
lblClipName.ToolTipText = vbNullString
imgSourceClip.ToolTipText = vbNullString
End If
Else
imgSourceClip.Picture = LoadPicture(vbNullString) 'disregard the picture
If InStrRev(RHS, "\") > 0 Then
lblClipName.Caption = Trim(LCase(Mid(RHS, InStrRev(RHS, "\") + 1, Len(RHS))))
lblClipName.ToolTipText = Trim(LCase(Mid(RHS, InStrRev(RHS, "\") + 1, Len(RHS))))
imgSourceClip.ToolTipText = Trim(LCase(Mid(RHS, InStrRev(RHS, "\") + 1, Len(RHS))))
Else
lblClipName.Caption = vbNullString
lblClipName.ToolTipText = vbNullString
imgSourceClip.ToolTipText = vbNullString
End If
End If
'clean-up & dereference
If Not objMediaDet Is Nothing Then Set objMediaDet = Nothing
Exit Property
ErrLine:
Err.Clear
Exit Property
End Property
' ******************************************************************************************************************************
' * procedure name: MediaFile
' * procedure description: Returns the assigned media file for the control.
' *
' ******************************************************************************************************************************
Public Property Get MediaFile() As String
Attribute MediaFile.VB_Description = "Returns or assigns the given media file to the control and maps it to the control for preview."
Attribute MediaFile.VB_ProcData.VB_Invoke_Property = ";Misc"
On Local Error GoTo ErrLine
'return the media file
MediaFile = m_bstrMediaFile
Exit Property
ErrLine:
Err.Clear
Exit Property
End Property
' ******************************************************************************************************************************
' * procedure name: BorderColor
' * procedure description: Returns a boolean indicating if the media info is displayed for the given clip.
' *
' ******************************************************************************************************************************
Public Property Get ShowMediaInfo() As OLE_CANCELBOOL
Attribute ShowMediaInfo.VB_Description = "Returns or assigns a value indicating if the media info is displayed for the given clip."
Attribute ShowMediaInfo.VB_ProcData.VB_Invoke_Property = ";Appearance"
On Local Error GoTo ErrLine
'obtain from module-level
ShowMediaInfo = m_boolShowMediaInfo
Exit Property
ErrLine:
Err.Clear
Exit Property
End Property
' ******************************************************************************************************************************
' * procedure name: ShowMediaInfo
' * procedure description: Assigns a boolean indicating if the media info is displayed for the given clip.
' *
' ******************************************************************************************************************************
Public Property Let ShowMediaInfo(RHS As OLE_CANCELBOOL)
On Local Error GoTo ErrLine
'assign to module-level
m_boolShowMediaInfo = RHS
'resize component to reflect update
lblClipName.Visible = RHS
Call UserControl_Resize
Exit Property
ErrLine:
Err.Clear
Exit Property
End Property
' **************************************************************************************************************************************
' * PRIVATE INTERFACE- USER CONTROL EVENTS
' *
' *
' ******************************************************************************************************************************
' * procedure name: UserControl_AmbientChanged
' * procedure description: Occurs when an ambient value was changed by the container of a user control
' *
' ******************************************************************************************************************************
Private Sub UserControl_AmbientChanged(PropertyName As String)
On Local Error GoTo ErrLine
Exit Sub
ErrLine:
Err.Clear
Exit Sub
End Sub
' ******************************************************************************************************************************
' * procedure name: UserControl_AsyncReadComplete
' * procedure description: Occurs when all of the data is available as a result of the AsyncRead method.
' *
' ******************************************************************************************************************************
Private Sub UserControl_AsyncReadComplete(AsyncProp As AsyncProperty)
On Local Error GoTo ErrLine
Exit Sub
ErrLine:
Err.Clear
Exit Sub
End Sub
' ******************************************************************************************************************************
' * procedure name: UserControl_AsyncReadProgress
' * procedure description: Occurs when more data is available as a result of the AsyncReadProgress method.
' *
' ******************************************************************************************************************************
Private Sub UserControl_AsyncReadProgress(AsyncProp As AsyncProperty)
On Local Error GoTo ErrLine
Exit Sub
ErrLine:
Err.Clear
Exit Sub
End Sub
' ******************************************************************************************************************************
' * procedure name: UserControl_Click
' * procedure description: Occurs when the user presses and then releases a mouse button over an object.
' *
' ******************************************************************************************************************************
Private Sub UserControl_Click()
On Local Error GoTo ErrLine
Exit Sub
ErrLine:
Err.Clear
Exit Sub
End Sub
' ******************************************************************************************************************************
' * procedure name: UserControl_DragDrop
' * procedure description: Occurs when a drag-and-drop operation is completed.
' *
' ******************************************************************************************************************************
Private Sub UserControl_DragDrop(Source As Control, X As Single, Y As Single)
On Local Error GoTo ErrLine
Exit Sub
ErrLine:
Err.Clear
Exit Sub
End Sub
' ******************************************************************************************************************************
' * procedure name: UserControl_DragOver
' * procedure description: Occurs when a drag-and-drop operation is in progress.
' *
' ******************************************************************************************************************************
Private Sub UserControl_DragOver(Source As Control, X As Single, Y As Single, State As Integer)
On Local Error GoTo ErrLine
Exit Sub
ErrLine:
Err.Clear
Exit Sub
End Sub
' ******************************************************************************************************************************
' * procedure name: UserControl_GotFocus
' * procedure description: Occurs when an object receives the focus.
' *
' ******************************************************************************************************************************
Private Sub UserControl_GotFocus()
On Local Error GoTo ErrLine
Exit Sub
ErrLine:
Err.Clear
Exit Sub
End Sub
' ******************************************************************************************************************************
' * procedure name: UserControl_Hide
' * procedure description: Occurs when the control's Visible property changes to False.
' *
' ******************************************************************************************************************************
Private Sub UserControl_Hide()
On Local Error GoTo ErrLine
Exit Sub
ErrLine:
Err.Clear
Exit Sub
End Sub
' ******************************************************************************************************************************
' * procedure name: UserControl_Initialize
' * procedure description: Occurs when an application creates an instance of a Form, MDIForm, or class.
' *
' ******************************************************************************************************************************
Private Sub UserControl_Initialize()
On Local Error GoTo ErrLine
Exit Sub
ErrLine:
Err.Clear
Exit Sub
End Sub
' ******************************************************************************************************************************
' * procedure name: UserControl_InitProperties
' * procedure description: Occurs the first time a user control or user document is created.
' *
' ******************************************************************************************************************************
Private Sub UserControl_InitProperties()
On Local Error GoTo ErrLine
'set public property values for design time
If UserControl.Ambient.UserMode = False Then
Me.BorderColor = DEFAULT_BORDERCOLOR
Me.BorderSize = DEFAULT_BORDERSIZE
Me.BorderStyle = DEFAULT_BORDERSTYLE
Me.Filter = DEFAULT_FILTER
Me.MediaFile = DEFAULT_MEDIAFILE
Me.ShowMediaInfo = DEFAULT_SHOWMEDIAINFO
End If
Exit Sub
ErrLine:
Err.Clear
Exit Sub
End Sub
' ******************************************************************************************************************************
' * procedure name: UserControl_KeyDown
' * procedure description: Occurs when the user presses a key while an object has the focus.
' *
' ******************************************************************************************************************************
Private Sub UserControl_KeyDown(KeyCode As Integer, Shift As Integer)
On Local Error GoTo ErrLine
Exit Sub
ErrLine:
Err.Clear
Exit Sub
End Sub
' ******************************************************************************************************************************
' * procedure name: UserControl_LostFocus
' * procedure description: Occurs when an object loses the focus.
' *
' ******************************************************************************************************************************
Private Sub UserControl_LostFocus()
On Local Error GoTo ErrLine
Exit Sub
ErrLine:
Err.Clear
Exit Sub
End Sub
' ******************************************************************************************************************************
' * procedure name: UserControl_OLEDragDrop
' * procedure description: Occurs when data is dropped onto the control via an OLE drag/drop operation,
' * and OLEDropMode is set to manual.
' ******************************************************************************************************************************
Private Sub UserControl_OLEDragDrop(Data As DataObject, Effect As Long, Button As Integer, Shift As Integer, X As Single, Y As Single)
On Local Error GoTo ErrLine
Call AppOLEDragDrop(Data, Effect, Button, Shift, X, Y)
Exit Sub
ErrLine:
Err.Clear
Exit Sub
End Sub
' ******************************************************************************************************************************
' * procedure name: UserControl_OLEDragOver
' * procedure description: Occurs when the mouse is moved over the control during an OLE drag/drop operation,
' * if its OLEDropMode property is set to manual.
' ******************************************************************************************************************************
Private Sub UserControl_OLEDragOver(Data As DataObject, Effect As Long, Button As Integer, Shift As Integer, X As Single, Y As Single, State As Integer)
On Local Error GoTo ErrLine
Call AppOLEDragOver(Data, Effect, Button, Shift, X, Y, State)
Exit Sub
ErrLine:
Err.Clear
Exit Sub
End Sub
' ******************************************************************************************************************************
' * procedure name: UserControl_Paint
' * procedure description: Occurs when any part of a form or PictureBox control is moved, enlarged, or exposed.
' *
' ******************************************************************************************************************************
Private Sub UserControl_Paint()
On Local Error GoTo ErrLine
Exit Sub
ErrLine:
Err.Clear
Exit Sub
End Sub
' ******************************************************************************************************************************
' * procedure name: UserControl_ReadProperties
' * procedure description: Occurs when a user control or user document is asked to read its data from a file.
' *
' ******************************************************************************************************************************
Private Sub UserControl_ReadProperties(PropBag As PropertyBag)
On Local Error GoTo ErrLine
'obtain design time value(s) from the property bag during run-time
Me.MediaFile = PropBag.ReadProperty("MediaFile", DEFAULT_MEDIAFILE)
Me.Filter = PropBag.ReadProperty("Filter", DEFAULT_FILTER)
Me.BorderColor = PropBag.ReadProperty("BorderColor", DEFAULT_BORDERCOLOR)
Me.BorderSize = PropBag.ReadProperty("BorderSize", DEFAULT_BORDERSIZE)
Me.ShowMediaInfo = PropBag.ReadProperty("ShowMediaInfo", DEFAULT_SHOWMEDIAINFO)
Me.BorderStyle = PropBag.ReadProperty("BorderStyle", DEFAULT_BORDERSTYLE)
Exit Sub
ErrLine:
Err.Clear
Exit Sub
End Sub
' ******************************************************************************************************************************
' * procedure name: UserControl_Resize
' * procedure description: Occurs when a form is first displayed or the size of an object changes.
' *
' ******************************************************************************************************************************
Private Sub UserControl_Resize()
Dim sngBorderSize As Single
On Local Error GoTo ErrLine
'assign from module-level
sngBorderSize = m_sngBorderSize * Screen.TwipsPerPixelX
'fixture frame absolute position
If fraFixture.Top <> (UserControl.ScaleTop + sngBorderSize) Then fraFixture.Top = (UserControl.ScaleTop + sngBorderSize)
If fraFixture.Left <> (UserControl.ScaleLeft + sngBorderSize) Then fraFixture.Left = (UserControl.ScaleLeft + sngBorderSize)
If fraFixture.Width <> (UserControl.ScaleWidth - (sngBorderSize * 2)) Then fraFixture.Width = (UserControl.ScaleWidth - (sngBorderSize * 2))
If fraFixture.Height <> (UserControl.ScaleHeight - (sngBorderSize * 2)) Then fraFixture.Height = (UserControl.ScaleHeight - (sngBorderSize * 2))
If lblClipName.Visible = False Then
'source clip picturebox relative position
If imgSourceClip.Top <> imgSourceClip.Parent.ScaleTop Then imgSourceClip.Top = imgSourceClip.Parent.ScaleTop
If imgSourceClip.Left <> imgSourceClip.Parent.ScaleLeft Then imgSourceClip.Left = imgSourceClip.Parent.ScaleLeft
If imgSourceClip.Width <> imgSourceClip.Parent.ScaleWidth Then imgSourceClip.Width = imgSourceClip.Parent.ScaleWidth
If imgSourceClip.Height <> imgSourceClip.Parent.ScaleHeight Then imgSourceClip.Height = imgSourceClip.Parent.ScaleHeight
Else
'source clip picturebox relative position
If imgSourceClip.Top <> imgSourceClip.Parent.ScaleTop Then imgSourceClip.Top = imgSourceClip.Parent.ScaleTop
If imgSourceClip.Left <> imgSourceClip.Parent.ScaleLeft Then imgSourceClip.Left = imgSourceClip.Parent.ScaleLeft
If imgSourceClip.Width <> imgSourceClip.Parent.ScaleWidth Then imgSourceClip.Width = imgSourceClip.Parent.ScaleWidth
If imgSourceClip.Height <> (imgSourceClip.Parent.ScaleHeight * APP_DIVISIONAL_PERCENTAGE) Then imgSourceClip.Height = (imgSourceClip.Parent.ScaleHeight * APP_DIVISIONAL_PERCENTAGE)
'source clip filename relative to source clip picturebox
If lblClipName.Top <> (imgSourceClip.Top + imgSourceClip.Height) + APP_SEPTUM_SIZE Then lblClipName.Top = (imgSourceClip.Top + imgSourceClip.Height) + APP_SEPTUM_SIZE
If lblClipName.Left <> lblClipName.Parent.ScaleLeft Then lblClipName.Left = lblClipName.Parent.ScaleLeft
If lblClipName.Width <> lblClipName.Parent.ScaleWidth Then lblClipName.Width = lblClipName.Parent.ScaleWidth
If lblClipName.Height <> lblClipName.Parent.ScaleHeight - (imgSourceClip.Height + APP_SEPTUM_SIZE) Then lblClipName.Height = lblClipName.Parent.ScaleHeight - (imgSourceClip.Height + APP_SEPTUM_SIZE)
End If
Exit Sub
ErrLine:
Err.Clear
Exit Sub
End Sub
' ******************************************************************************************************************************
' * procedure name: UserControl_Show
' * procedure description: Occurs when the control's Visible property changes to True.
' *
' ******************************************************************************************************************************
Private Sub UserControl_Show()
On Local Error GoTo ErrLine
Exit Sub
ErrLine:
Err.Clear
Exit Sub
End Sub
' ******************************************************************************************************************************
' * procedure name: UserControl_Terminate
' * procedure description: Occurs when all references to an instance of a Form, MDIForm, or class are removed from memory.
' *
' ******************************************************************************************************************************
Private Sub UserControl_Terminate()
On Local Error GoTo ErrLine
Exit Sub
ErrLine:
Err.Clear
Exit Sub
End Sub
' ******************************************************************************************************************************
' * procedure name: UserControl_WriteProperties
' * procedure description: Occurs when a user control or user document is asked to write its data to a file.
' *
' ******************************************************************************************************************************
Private Sub UserControl_WriteProperties(PropBag As PropertyBag)
On Local Error GoTo ErrLine
'persist design time value(s) to the property bag only after design-time
If Ambient.UserMode = False Then
Call PropBag.WriteProperty("Filter", Me.Filter, DEFAULT_FILTER)
Call PropBag.WriteProperty("MediaFile", Me.MediaFile, DEFAULT_MEDIAFILE)
Call PropBag.WriteProperty("BorderColor", Me.BorderColor, DEFAULT_BORDERCOLOR)
Call PropBag.WriteProperty("BorderSize", Me.BorderSize, DEFAULT_BORDERSIZE)
Call PropBag.WriteProperty("BorderStyle", Me.BorderStyle, DEFAULT_BORDERSTYLE)
Call PropBag.WriteProperty("ShowMediaInfo", Me.ShowMediaInfo, DEFAULT_SHOWMEDIAINFO)
End If
Exit Sub
ErrLine:
Err.Clear
Exit Sub
End Sub
' **************************************************************************************************************************************
' * PRIVATE INTERFACE- CONTROL EVENTS
' *
' *
' ******************************************************************************************************************************
' * procedure name: imgSourceClip_OLEDragDrop
' * procedure description: Occurs when a user control or user document is asked to write its data to a file.
' *
' ******************************************************************************************************************************
Private Sub imgSourceClip_OLEDragDrop(Data As DataObject, Effect As Long, Button As Integer, Shift As Integer, X As Single, Y As Single)
On Local Error GoTo ErrLine
Call AppOLEDragDrop(Data, Effect, Button, Shift, X, Y)
Exit Sub
ErrLine:
Err.Clear
Exit Sub
End Sub
' ******************************************************************************************************************************
' * procedure name: imgSourceClip_OLEDragOver
' * procedure description: Occurs when a user control or user document is asked to write its data to a file.
' *
' ******************************************************************************************************************************
Private Sub imgSourceClip_OLEDragOver(Data As DataObject, Effect As Long, Button As Integer, Shift As Integer, X As Single, Y As Single, State As Integer)
On Local Error GoTo ErrLine
Call AppOLEDragOver(Data, Effect, Button, Shift, X, Y, State)
Exit Sub
ErrLine:
Err.Clear
Exit Sub
End Sub
' ******************************************************************************************************************************
' * procedure name: lblClipName_OLEDragDrop
' * procedure description: Occurs when the mouse is moved over the control during an OLE drag/drop operation,
' * if its OLEDropMode property is set to manual.
' ******************************************************************************************************************************
Private Sub lblClipName_OLEDragDrop(Data As DataObject, Effect As Long, Button As Integer, Shift As Integer, X As Single, Y As Single)
On Local Error GoTo ErrLine
Call AppOLEDragDrop(Data, Effect, Button, Shift, X, Y)
Exit Sub
ErrLine:
Err.Clear
Exit Sub
End Sub
' ******************************************************************************************************************************
' * procedure name: lblClipName_OLEDragOver
' * procedure description: Occurs when the mouse is moved over the control during an OLE drag/drop operation,
' * if its OLEDropMode property is set to manual.
' ******************************************************************************************************************************
Private Sub lblClipName_OLEDragOver(Data As DataObject, Effect As Long, Button As Integer, Shift As Integer, X As Single, Y As Single, State As Integer)
On Local Error GoTo ErrLine
Call AppOLEDragOver(Data, Effect, Button, Shift, X, Y, State)
Exit Sub
ErrLine:
Err.Clear
Exit Sub
End Sub
' ******************************************************************************************************************************
' * procedure name: fraFixture_OLEDragDrop
' * procedure description: Occurs when the mouse is moved over the control during an OLE drag/drop operation,
' * if its OLEDropMode property is set to manual.
' ******************************************************************************************************************************
Private Sub fraFixture_OLEDragDrop(Data As DataObject, Effect As Long, Button As Integer, Shift As Integer, X As Single, Y As Single)
On Local Error GoTo ErrLine
Call AppOLEDragDrop(Data, Effect, Button, Shift, X, Y)
Exit Sub
ErrLine:
Err.Clear
Exit Sub
End Sub
' ******************************************************************************************************************************
' * procedure name: fraFixture_OLEDragOver
' * procedure description: Occurs when the mouse is moved over the control during an OLE drag/drop operation,
' * if its OLEDropMode property is set to manual.
' ******************************************************************************************************************************
Private Sub fraFixture_OLEDragOver(Data As DataObject, Effect As Long, Button As Integer, Shift As Integer, X As Single, Y As Single, State As Integer)
On Local Error GoTo ErrLine
Call AppOLEDragOver(Data, Effect, Button, Shift, X, Y, State)
Exit Sub
ErrLine:
Err.Clear
Exit Sub
End Sub
' **************************************************************************************************************************************
' * PRIVATE INTERFACE- PROCEDURES
' *
' *
' ******************************************************************************************************************************
' * procedure name: AppOLEDragDrop
' * procedure description: Occurs when the mouse is moved over the control during an OLE drag/drop operation,
' * if its OLEDropMode property is set to manual.
' ******************************************************************************************************************************
Private Sub AppOLEDragDrop(Data As DataObject, Effect As Long, Button As Integer, Shift As Integer, X As Single, Y As Single)
On Local Error GoTo ErrLine
'load the media clip
Me.MediaFile = Data.Files(1)
Exit Sub
ErrLine:
Err.Clear
Exit Sub
End Sub
' ******************************************************************************************************************************
' * procedure name: AppOLEDragOver
' * procedure description: Occurs when the mouse is moved over the control during an OLE drag/drop operation,
' * if its OLEDropMode property is set to manual.
' ******************************************************************************************************************************
Private Sub AppOLEDragOver(Data As DataObject, Effect As Long, Button As Integer, Shift As Integer, X As Single, Y As Single, State As Integer)
Dim nCount As Long
Dim nCount2 As Long
Dim varSupport() As String
Dim bstrSupport As String
Dim bstrFileName As String
On Local Error GoTo ErrLine
'set default(s)
Effect = vbDropEffectNone
If Me.Filter = vbNullString Then
bstrSupport = DEFAULT_FILTER
Else: bstrSupport = m_bstrFilter
End If
'split the supported files into an array, if this fails the effect will be vbDropEffectNone
varSupport = Split(bstrSupport, ";")
For nCount = 1 To Data.Files.Count
For nCount2 = LBound(varSupport) To UBound(varSupport)
If LCase(varSupport(nCount2)) <> vbNullString Then
If InStr(LCase(Data.Files(nCount)), LCase(varSupport(nCount2))) > 0 Then
'match located, supported media file dropped..
Effect = vbDropEffectCopy
bstrFileName = Data.Files(nCount)
Data.Files.Clear: Data.Files.Add bstrFileName
Exit Sub
End If
End If
Next
Next
'reset effect
Effect = vbDropEffectNone
Exit Sub
ErrLine:
Err.Clear
'reset effect
Effect = vbDropEffectNone
Exit Sub
End Sub