home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / clipswin / multclip.frm (.txt) < prev    next >
Encoding:
Visual Basic Form  |  1995-05-08  |  11.6 KB  |  400 lines

  1. VERSION 2.00
  2. Begin Form MClipForm 
  3.    BackColor       =   &H00C0C0C0&
  4.    Caption         =   "Clips"
  5.    ClientHeight    =   4935
  6.    ClientLeft      =   1590
  7.    ClientTop       =   1800
  8.    ClientWidth     =   6405
  9.    Height          =   5625
  10.    Icon            =   MULTCLIP.FRX:0000
  11.    Left            =   1530
  12.    LinkTopic       =   "Form1"
  13.    ScaleHeight     =   4935
  14.    ScaleWidth      =   6405
  15.    Top             =   1170
  16.    Width           =   6525
  17.    Begin Frame Frame2 
  18.       BackColor       =   &H00C0C0C0&
  19.       Caption         =   "Clip Text:"
  20.       Height          =   2535
  21.       Left            =   120
  22.       TabIndex        =   4
  23.       Top             =   2040
  24.       Width           =   6135
  25.       Begin TextBox ClipText 
  26.          FontBold        =   0   'False
  27.          FontItalic      =   0   'False
  28.          FontName        =   "Arial"
  29.          FontSize        =   9
  30.          FontStrikethru  =   0   'False
  31.          FontUnderline   =   0   'False
  32.          Height          =   1935
  33.          Left            =   120
  34.          MultiLine       =   -1  'True
  35.          ScrollBars      =   3  'Both
  36.          TabIndex        =   1
  37.          Top             =   360
  38.          Width           =   5775
  39.       End
  40.    End
  41.    Begin Frame Frame1 
  42.       BackColor       =   &H00C0C0C0&
  43.       Caption         =   "Clip Titles:"
  44.       Height          =   1695
  45.       Left            =   120
  46.       TabIndex        =   3
  47.       Top             =   240
  48.       Width           =   6135
  49.       Begin ListBox Titles 
  50.          DragIcon        =   MULTCLIP.FRX:0302
  51.          FontBold        =   0   'False
  52.          FontItalic      =   0   'False
  53.          FontName        =   "Arial"
  54.          FontSize        =   9
  55.          FontStrikethru  =   0   'False
  56.          FontUnderline   =   0   'False
  57.          Height          =   1155
  58.          Left            =   120
  59.          TabIndex        =   0
  60.          Top             =   360
  61.          Width           =   5775
  62.       End
  63.    End
  64.    Begin CommonDialog CMDialog1 
  65.       Left            =   1560
  66.       Top             =   4560
  67.    End
  68.    Begin Timer Timer2 
  69.       Interval        =   1000
  70.       Left            =   720
  71.       Top             =   4560
  72.    End
  73.    Begin Label Label1 
  74.       AutoSize        =   -1  'True
  75.       BackColor       =   &H00C0C0C0&
  76.       Caption         =   "Label1"
  77.       Height          =   195
  78.       Left            =   2400
  79.       TabIndex        =   2
  80.       Top             =   4680
  81.       Width           =   1065
  82.    End
  83.    Begin Menu fMenu 
  84.       Caption         =   "&File"
  85.       Begin Menu fItem 
  86.          Caption         =   "&New"
  87.          Index           =   1
  88.       End
  89.       Begin Menu fItem 
  90.          Caption         =   "&Open"
  91.          Index           =   2
  92.       End
  93.       Begin Menu fItem 
  94.          Caption         =   "&Save"
  95.          Enabled         =   0   'False
  96.          Index           =   3
  97.       End
  98.       Begin Menu fItem 
  99.          Caption         =   "Save &As..."
  100.          Enabled         =   0   'False
  101.          Index           =   4
  102.       End
  103.       Begin Menu fItem 
  104.          Caption         =   "E&xit"
  105.          Index           =   5
  106.       End
  107.    End
  108.    Begin Menu eMenu 
  109.       Caption         =   "&Edit"
  110.       Begin Menu eItem 
  111.          Caption         =   "Cu&t"
  112.          Enabled         =   0   'False
  113.          Index           =   0
  114.          Shortcut        =   ^X
  115.       End
  116.       Begin Menu eItem 
  117.          Caption         =   "&Copy"
  118.          Enabled         =   0   'False
  119.          Index           =   1
  120.          Shortcut        =   ^C
  121.       End
  122.       Begin Menu eItem 
  123.          Caption         =   "&Paste"
  124.          Enabled         =   0   'False
  125.          Index           =   2
  126.          Shortcut        =   ^V
  127.       End
  128.       Begin Menu eItem 
  129.          Caption         =   "Select &All"
  130.          Enabled         =   0   'False
  131.          Index           =   3
  132.       End
  133.       Begin Menu eItem 
  134.          Caption         =   "Clea&r"
  135.          Enabled         =   0   'False
  136.          Index           =   4
  137.       End
  138.       Begin Menu eItem 
  139.          Caption         =   "-"
  140.          Index           =   5
  141.       End
  142.       Begin Menu eItem 
  143.          Caption         =   "Change &Title"
  144.          Enabled         =   0   'False
  145.          Index           =   6
  146.       End
  147.       Begin Menu eItem 
  148.          Caption         =   "De&lete Clip"
  149.          Enabled         =   0   'False
  150.          Index           =   7
  151.       End
  152.    End
  153.    Begin Menu setMenu 
  154.       Caption         =   "&Settings"
  155.       Begin Menu sItem 
  156.          Caption         =   "&On"
  157.          Checked         =   -1  'True
  158.          Index           =   1
  159.       End
  160.       Begin Menu sItem 
  161.          Caption         =   "O&ff"
  162.          Index           =   2
  163.       End
  164.       Begin Menu sItem 
  165.          Caption         =   "&Combine"
  166.          Index           =   3
  167.       End
  168.       Begin Menu sItem 
  169.          Caption         =   "-"
  170.          Index           =   4
  171.       End
  172.       Begin Menu sItem 
  173.          Caption         =   "&Beep"
  174.          Checked         =   -1  'True
  175.          Index           =   5
  176.       End
  177.    End
  178.    Begin Menu hMenu 
  179.       Caption         =   "&Help"
  180.       Begin Menu aboutItem 
  181.          Caption         =   "&About..."
  182.       End
  183.    End
  184. DefInt A-Z
  185. Option Explicit
  186. Sub aboutItem_Click ()
  187. MsgBox "Clips 1.0" + CRLF$ + "Copyright 
  188.  1993 by Paul Bonner." + CRLF$ + "All Rights Reserved.", 0, "Clips"
  189. End Sub
  190. Sub ClipText_Change ()
  191. If IgnoreChange% = False Then
  192.      Clip(Titles.ListIndex) = ClipText
  193.      FileDirty% = True
  194. End If
  195. End Sub
  196. Sub ClipText_DragDrop (Source As Control, X As Single, Y As Single)
  197. Dim Drop$, S%
  198. Drop$ = ClipText.Text
  199. S% = ClipText.SelStart + ClipText.SelLength
  200. ClipText.Text = Left$(Drop$, S%) + Clip(Titles.ListIndex) + Mid$(Drop$, S% + 1)
  201. ClipText.SelStart = S% + Len(Clip(Titles.ListIndex))
  202. Clip(CombineIndex%) = ClipText
  203. FileDirty% = True
  204. End Sub
  205. Sub ClipText_GotFocus ()
  206.      If Titles.ListCount < 1 Then Titles.SetFocus
  207.      If State% = sCombine Then Exit Sub
  208.      YesEdit
  209.      OldLI% = Titles.ListIndex
  210. End Sub
  211. Sub ClipText_KeyDown (KeyCode As Integer, Shift As Integer)
  212.      If Titles.ListCount < 1 Then Titles.SetFocus : Exit Sub
  213.      If State% <> sCombine Then YesEdit
  214. End Sub
  215. Sub ClipText_LostFocus ()
  216.      If State% = sCombine Then Exit Sub
  217.      NoEdit
  218.      LabelIt
  219. End Sub
  220. Sub eItem_Click (Index As Integer)
  221. If ActiveControl <> ClipText And Index < 6 Then ClipText.SetFocus
  222. Select Case Index
  223. Case 0 'Cut
  224.      
  225.      SendKeys "+{DEL}"
  226. Case 1    'Copy
  227.      SendKeys "^{INSERT}"
  228. Case 2
  229.      SendKeys "+{INSERT}"
  230. Case 3
  231.           ClipText.SelStart = 0
  232.           ClipText.SelLength = Len(ClipText)
  233. Case 4
  234.      ClipText = ""
  235. Case 6
  236.      Dim LI, DefVal$, Answer$
  237.      LI = Titles.ListIndex
  238.      If LI < 0 Then Exit Sub
  239.      DefVal$ = Titles.List(LI)
  240.      Answer$ = InputBox("Enter a new title for this item:", "Change Title", DefVal$)
  241.      If Answer$ <> "" Then Titles.List(LI) = Answer$
  242. Case 7
  243.      DeleteRoutine
  244. End Select
  245. End Sub
  246. Sub fItem_Click (Index As Integer)
  247.      Const OFN_HIDEREADONLY = &H4&
  248.      Const OFN_OVERWRITEPROMPT = &H2&
  249.      Const OFN_EXTENTIONDIFFERENT = &H400&
  250.      Const OFN_FILEMUSTEXIST = &H1000&
  251.      Const CancelButton = 32755
  252.      CMDialog1.Flags = OFN_HIDEREADONLY Or OFN_OVERWRITEPROMPT Or OFN_EXTENTIONDIFFERENT
  253. Select Case Index
  254. Case 1    'New
  255.      If CheckDirty() = True Then Exit Sub
  256.      IgnoreClip% = True
  257.      Label1 = "State is ON"
  258.      OldState% = sOn
  259.      State% = sOn
  260.      cFile$ = ""
  261.      tFile$ = ""
  262.      IgnoreChange% = True
  263.      ReDim Clip(0)
  264.      ReDim Title(0)
  265.      ClipCount% = 0
  266.      CombineIndex% = 0
  267.      OldLI% = 0
  268.      Titles.Clear
  269.      ClipText = ""
  270.      IgnoreChange% = False
  271. Case 2    'Open
  272.      If CheckDirty() = True Then Exit Sub
  273.      CMDialog1.Flags = OFN_HIDEREADONLY Or OFN_EXTENTIONDIFFERENT Or OFN_FILEMUSTEXIST
  274.      CMDialog1.DefaultExt = "MCF"
  275.      CMDialog1.Filter = "Clips files|*.MCF"
  276.      Dim T%
  277.      T% = CMDialog1.Flags
  278. ExtenErrorLoop:
  279.      CMDialog1.CancelError = -1
  280.      On Error Resume Next
  281.      CMDialog1.Action = 1
  282.      If CMDialog1.Flags And OFN_EXTENTIONDIFFERENT And Err <> CancelButton Then
  283.           MsgBox "File must have an MCF extension!"
  284.           GoTo ExtenErrorLoop
  285.      End If
  286.      If Err = CancelButton Then Exit Sub
  287.      On Error GoTo 0
  288.      tFile$ = CMDialog1.Filename
  289.      If tFile$ = "" Then Exit Sub
  290.      cFile$ = Left$(tFile$, InStr(tFile$, ".")) + "CLP"
  291.      Titles.Enabled = False
  292.      Screen.MousePointer = 11
  293.      Titles.Clear
  294.      GetFiles
  295.      Titles.Enabled = True
  296.      If Titles.ListCount Then Titles.ListIndex = 0
  297.      Screen.MousePointer = 1
  298. Case 3    'Save
  299.      CMDialog1.Flags = OFN_HIDEREADONLY Or OFN_OVERWRITEPROMPT Or OFN_EXTENTIONDIFFERENT
  300.      Dim fName$
  301.      If cFile$ = "" Then
  302.           SaveWithNewName
  303.      Else
  304.           SaveCurrFile
  305.      End If
  306. Case 4    'Save As
  307.      CMDialog1.Flags = OFN_HIDEREADONLY Or OFN_OVERWRITEPROMPT Or OFN_EXTENTIONDIFFERENT
  308.      SaveWithNewName
  309. Case 5
  310.      If CheckDirty() = True Then Exit Sub
  311.      End
  312. End Select
  313. End Sub
  314. Sub Form_Load ()
  315. CRLF$ = Chr$(13) + Chr$(10)
  316. Path$ = App.Path
  317. If Right$(Path$, 1) <> "\" Then Path$ = Path$ + "\"
  318. IgnoreClip% = True
  319. Label1 = "State is ON"
  320. OldState% = sOn
  321. State% = sOn
  322. Beeper% = True
  323. Label1.Left = mCLipForm.Width / 2 - Label1.Width / 2
  324. End Sub
  325. Sub Form_QueryUnload (Cancel As Integer, UnloadMode As Integer)
  326.      Cancel = CheckDirty()
  327. End Sub
  328. Sub Form_Resize ()
  329. If Windowstate = 1 Then Exit Sub
  330. Dim fHeight%, X%
  331. fHeight% = mCLipForm.Height
  332. X% = mCLipForm.Width - 400
  333. If X% > 400 Then
  334.      Frame1.Width = X%
  335.      Frame2.Width = X%
  336. End If
  337. X% = Frame1.Width - 240
  338. If X% > 240 Then
  339.      Titles.Width = X%
  340.      ClipText.Width = X%
  341. End If
  342. Frame1.Top = .0425 * fHeight%
  343. Titles.Top = 240
  344. Frame1.Height = .3 * fHeight%
  345. X% = Frame1.Height - 480
  346. If X% > 480 Then Titles.Height = X%
  347. Frame2.Top = .363 * fHeight%
  348. Frame2.Height = .449 * fHeight%
  349. ClipText.Top = 240
  350. X% = Frame2.Height - 480
  351. If X% > 480 Then ClipText.Height = X%
  352. Label1.Top = fHeight% * .832
  353. Label1.Left = mCLipForm.Width / 2 - Label1.Width / 2
  354. End Sub
  355. Sub sItem_Click (Index As Integer)
  356.      Select Case Index
  357.           Case Is = 1
  358.                If State% = sCombine Then SetCombineMode
  359.                ToggleSettings 1
  360.                State% = sOn
  361.                IgnoreClip% = True
  362.                Label1 = "State is On"
  363.           Case Is = 2
  364.                ToggleSettings 2
  365.                If State% = sCombine Then SetCombineMode
  366.                State% = sOff
  367.                Label1 = "State is Off"
  368.           Case Is = 3
  369.                If Titles.ListCount = 0 Then MsgBox ("You can't activate Combine mode when Clips is empty!"): Exit Sub
  370.                If State% <> sCombine Then
  371.                     SetCombineMode
  372.                     ToggleSettings 3
  373.                End If
  374.           Case Is = 5
  375.                Beeper% = Not Beeper%
  376.                sItem(5).Checked = Beeper%
  377.      End Select
  378. End Sub
  379. Sub Timer2_Timer ()
  380. If State% <> sOn Then Exit Sub
  381. If GetActiveWindow() = hWnd Then Exit Sub
  382. GetClip
  383. End Sub
  384. Sub Titles_Click ()
  385. Dim LI
  386. If State% = sCombine Then Exit Sub
  387. If Titles.ListCount Then
  388.      IgnoreChange% = True
  389.      LI = Titles.ListIndex: ClipText = Clip(LI)
  390.      IgnoreChange% = False
  391. End If
  392. End Sub
  393. Sub Titles_MouseDown (Button As Integer, Shift As Integer, X As Single, Y As Single)
  394. If Not State% = sCombine Then Exit Sub
  395. Titles.Drag 1
  396. End Sub
  397. Sub Titles_MouseUp (Button As Integer, Shift As Integer, X As Single, Y As Single)
  398. 'Combine% = False
  399. End Sub
  400.