You can't do it just like that if you worry about backward compatibility. Let's say that somebody already use it this way:
Code:
Private Sub VBFlexGrid1_BeforeClipboardAction( _
ByVal Action As FlexClipboardActionConstants, _
Text As String, Cancel As Boolean)
Select Case Action
Case FlexClipboardActionCopy, FlexClipboardActionCut
' Any conversion which could be performed twice:
Text = Replace$(Text, "A", "AA")
Text = "Header" & vbCr & Text & vbCr & "Footer"
End Select
End Sub
If you will fire the BeforeCut and then BeforeCopy, it will cause a double conversion.
I see only two scenarios.
1. You may just remove the BeforeCut event (the FlexClipboardActionCut constant) and replace it with BeforeCopy and BeforeDelete. Code like the above will work fine, but maybe another code will work wrong.
2. You may add a property which will indicate a behavour: BeforeCut (default) or BeforeCopy+BeforeDelete.
Anyway, the Text in the BeforeCopy or BeforeCut is Ok now.
Yes. The text should be such that we can simply save it in memory and, if necessary, return it back (UnDo / ReDo) with the Paste method.