addobject "Dialog" addobject "CommandButton", "Clear", 0, 0, 40, 20 addobject "CommandButton", "Copy", 40, 0, 40, 20 addobject "CommandButton", "Paste", 80, 0, 50, 20 addobject "CommandButton", "Save", 130, 0, 40, 20 addobject "CommandButton", "Load", 170, 0, 40, 20 addobject "CommandButton", "Mode", 210, 0, 40, 20 addobject "MGCERichInk.RichInk", "ink", 0, 20, output.width, output.height - 20 Dim aData ' Used to hold data for Copy/Paste ink.Mode = 1 ' Set to graphical mode ink.Toolbar = 0 ' No toolbar Clear.BackColor = output.BackColor Clear.Caption = "Clear" Copy.BackColor = output.BackColor Copy.Caption = "Copy" Paste.BackColor = output.BackColor Paste.Caption = "Paste" Save.BackColor = output.BackColor Save.Caption = "Save" Load.BackColor = output.BackColor Load.Caption = "Load" Mode.BackColor = output.BackColor Mode.Caption = "Mode" sub Clear_Click ' Clear ink control ink.Clear ink.Mode = 1 end sub sub Copy_Click ' Get byte array from control and save in variable aData = ink.Data end sub sub Paste_Click ' Set control contents to saved byte array ink.Data = aData end sub sub Save_Click ' Save control contents to file Dialog.DialogTitle = "Save Ink File" Dialog.InitDir = "\" Dialog.Flags = 0 Dialog.Filter = "Ink Files|*.ink" Dialog.DefaultExt = "ink" Dialog.filename = "*.ink" Dialog.CancelError = True On Error Resume Next Dialog.ShowSave if Err.Number = 0 then ink.SaveData Dialog.filename, 1 end if end sub sub Load_Click ' Load ink data from file into control Dialog.DialogTitle = "Load Ink File" Dialog.InitDir = "\" Dialog.Filter = "Ink Files|*.ink|All Files|*.*" Dialog.FilterIndex = 1 Dialog.Flags = &H1800 Dialog.filename = "" Dialog.CancelError = True On Error Resume Next Dialog.ShowOpen if Err.Number = 0 then ink.LoadData CStr( Dialog.filename ) else MsgBox Err.Description end if end sub sub Mode_Click ' Change graphical / text mode if ink.Mode = 0 then ' If currently text, go to graphical ink.Mode = 1 else ink.Mode = 0 ' If graphical, go to text end if end sub