VSFlexGrid Tutorials > Edit Demo > Step 7: Clipboard Support |
The Windows clipboard is a very useful device for transferring information between applications. Adding clipboard support to VSFlexGrid projects is very easy. All it takes is the following code:
Example Title |
Copy Code
|
---|---|
Private Sub fg_KeyDown(KeyCode%, Shift%) Dim Cpy As Boolean, Pst As Boolean ' copy: ctrl-C, ctrl-X, ctrl-ins If KeyCode = vbKeyC And Shift = 2 Then Cpy = True If KeyCode = vbKeyX And Shift = 2 Then Cpy = True If KeyCode = vbKeyInsert And Shift = 2 Then Cpy = True ' paste: ctrl-V, shift-ins If KeyCode = vbKeyV And Shift = 2 Then Pst = True If KeyCode = vbKeyInsert And Shift = 1 Then Pst = True ' do it If Cpy Then Clipboard.Clear Clipboard.SetText fa.Clip ElseIf Pst Then fg.Clip = Clipboard.GetText End If End Sub |
The routine handles all standard keyboard commands related to the clipboard: CTRL-X, CTRL-C, or CTRL-INS to copy, and CTRL-V or SHIFT-INS to paste. The real work is done by the Clip property, which takes care of copying and pasting the clipboard text over the current range.
Another great Windows feature that is closely related to clipboard operations is OLE Drag and Drop. VSFlexGrid has two properties, OLEDragMode and OLEDropMode, that help implement this feature. Just set both properties to their automatic settings and you will be able to drag selections by their edges and drop them into other applications such as Microsoft Excel, or drag ranges from an Excel spreadsheet and drop them into the VSFlexGrid control.
Press F5 to run the project again, then try copying and pasting some data. You will notice that it is possible to paste invalid data, because our paste code does not do any data validation. This is left as an exercise for the reader.