⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frmmain.frm

📁 Synaptics触摸板应用开发包(SDK)
💻 FRM
字号:
VERSION 5.00
Object = "{82D70786-7968-46EA-836D-203AEBCA4481}#1.0#0"; "SynCtrl.dll"
Object = "{F9043C88-F6F2-101A-A3C9-08002B2F49FB}#1.2#0"; "COMDLG32.OCX"
Object = "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0"; "MSCOMCTL.OCX"
Begin VB.Form frmMain 
   BackColor       =   &H80000005&
   Caption         =   "SynDraw"
   ClientHeight    =   3960
   ClientLeft      =   165
   ClientTop       =   735
   ClientWidth     =   4410
   LinkTopic       =   "Form1"
   ScaleHeight     =   3960
   ScaleWidth      =   4410
   StartUpPosition =   3  'Windows Default
   Begin SYNCTRLLibCtl.SynAPICtrl SynAPICtrl1 
      Left            =   120
      OleObjectBlob   =   "frmMain.frx":0000
      Top             =   2880
   End
   Begin SYNCTRLLibCtl.SynDeviceCtrl SynDeviceCtrl1 
      Left            =   120
      OleObjectBlob   =   "frmMain.frx":0024
      Top             =   1800
   End
   Begin MSComctlLib.StatusBar sbStatusBar 
      Align           =   2  'Align Bottom
      Height          =   270
      Left            =   0
      TabIndex        =   0
      Top             =   3690
      Width           =   4410
      _ExtentX        =   7779
      _ExtentY        =   476
      _Version        =   393216
      BeginProperty Panels {8E3867A5-8586-11D1-B16A-00C0F0283628} 
         NumPanels       =   3
         BeginProperty Panel1 {8E3867AB-8586-11D1-B16A-00C0F0283628} 
            AutoSize        =   1
            Text            =   "Status"
            TextSave        =   "Status"
         EndProperty
         BeginProperty Panel2 {8E3867AB-8586-11D1-B16A-00C0F0283628} 
            Style           =   6
            AutoSize        =   2
            TextSave        =   "1/7/2003"
         EndProperty
         BeginProperty Panel3 {8E3867AB-8586-11D1-B16A-00C0F0283628} 
            Style           =   5
            AutoSize        =   2
            TextSave        =   "10:38 AM"
         EndProperty
      EndProperty
   End
   Begin MSComDlg.CommonDialog dlgCommonDialog 
      Left            =   3840
      Top             =   720
      _ExtentX        =   847
      _ExtentY        =   847
      _Version        =   393216
   End
   Begin MSComctlLib.ImageList imlToolbarIcons 
      Left            =   3720
      Top             =   3000
      _ExtentX        =   1005
      _ExtentY        =   1005
      BackColor       =   -2147483643
      ImageWidth      =   16
      ImageHeight     =   16
      MaskColor       =   12632256
      _Version        =   393216
      BeginProperty Images {2C247F25-8591-11D1-B16A-00C0F0283628} 
         NumListImages   =   3
         BeginProperty ListImage1 {2C247F27-8591-11D1-B16A-00C0F0283628} 
            Picture         =   "frmMain.frx":0048
            Key             =   "Pencil"
            Object.Tag             =   "Pencil"
         EndProperty
         BeginProperty ListImage2 {2C247F27-8591-11D1-B16A-00C0F0283628} 
            Picture         =   "frmMain.frx":015A
            Key             =   "Eraser"
            Object.Tag             =   "Eraser"
         EndProperty
         BeginProperty ListImage3 {2C247F27-8591-11D1-B16A-00C0F0283628} 
            Picture         =   "frmMain.frx":026C
            Key             =   "Stop"
            Object.Tag             =   "Stop"
         EndProperty
      EndProperty
   End
   Begin MSComctlLib.Toolbar tbToolBar 
      Align           =   1  'Align Top
      Height          =   420
      Left            =   0
      TabIndex        =   1
      Top             =   0
      Width           =   4410
      _ExtentX        =   7779
      _ExtentY        =   741
      ButtonWidth     =   609
      ButtonHeight    =   582
      Appearance      =   1
      ImageList       =   "imlToolbarIcons"
      _Version        =   393216
      BeginProperty Buttons {66833FE8-8583-11D1-B16A-00C0F0283628} 
         NumButtons      =   3
         BeginProperty Button1 {66833FEA-8583-11D1-B16A-00C0F0283628} 
            Key             =   "Pencil"
            ImageKey        =   "Pencil"
            Style           =   2
         EndProperty
         BeginProperty Button2 {66833FEA-8583-11D1-B16A-00C0F0283628} 
            Key             =   "Eraser"
            ImageKey        =   "Eraser"
            Style           =   2
         EndProperty
         BeginProperty Button3 {66833FEA-8583-11D1-B16A-00C0F0283628} 
            Key             =   "None"
            ImageKey        =   "Stop"
            Style           =   2
         EndProperty
      EndProperty
   End
   Begin VB.PictureBox Picture1 
      AutoRedraw      =   -1  'True
      BackColor       =   &H80000005&
      Height          =   975
      Left            =   2760
      ScaleHeight     =   915
      ScaleWidth      =   1395
      TabIndex        =   2
      Top             =   1680
      Width           =   1455
   End
   Begin SYNCTRLLibCtl.SynPacketCtrl SynPacketCtrl1 
      Left            =   120
      OleObjectBlob   =   "frmMain.frx":037E
      Top             =   840
   End
   Begin VB.Menu mnuFile 
      Caption         =   "&File"
      Begin VB.Menu mnuFileNew 
         Caption         =   "&New"
         Shortcut        =   ^N
      End
      Begin VB.Menu mnuFileOpen 
         Caption         =   "&Open..."
         Shortcut        =   ^O
      End
      Begin VB.Menu mnuFileSave 
         Caption         =   "&Save"
         Shortcut        =   ^S
      End
      Begin VB.Menu mnuFileSaveAs 
         Caption         =   "Save &As..."
      End
      Begin VB.Menu Sep 
         Caption         =   "-"
      End
      Begin VB.Menu mnuFileExit 
         Caption         =   "E&xit"
      End
   End
   Begin VB.Menu mnuTools 
      Caption         =   "&Tools"
      Begin VB.Menu mnuToolsOptions 
         Caption         =   "&Options..."
      End
   End
   Begin VB.Menu mnuHelp 
      Caption         =   "&Help"
      Begin VB.Menu mnuHelpAbout 
         Caption         =   "&About..."
      End
   End
End
Attribute VB_Name = "frmMain"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Public XMin As Integer
Public XMax As Integer
Public YMin As Integer
Public YMax As Integer
Public ZTouchThreshold As Integer

Public ExtentType As Integer
Public UsePencil As Integer
Public Utensil As Integer

Const eNone As Integer = 0
Const ePencil As Integer = 1
Const eEraser As Integer = 2

Private Sub Form_Load()
  Me.Left = GetSetting(App.Title, "Settings", "MainLeft", 1000)
  Me.Top = GetSetting(App.Title, "Settings", "MainTop", 1000)
  Me.Width = GetSetting(App.Title, "Settings", "MainWidth", 4500)
  Me.Height = GetSetting(App.Title, "Settings", "MainHeight", 4500)
  
  sbStatusBar.Panels(1).MinWidth = 2100
  Me.KeyPreview = True
  dlgCommonDialog.DefaultExt = "bmp"
  dlgCommonDialog.Filter = "Pictures (*.bmp)|*.bmp"

  SynAPICtrl1.Initialize
  SynAPICtrl1.Activate
  DeviceHandle = SynAPICtrl1.FindDevice(SE_ConnectionAny, SE_DeviceTouchPad, -1)
  
  If DeviceHandle = -1 Then
    MsgBox "Unable to find a Synaptics Touchpad"
    End
  End If
    
  SynDeviceCtrl1.Select (DeviceHandle)
  SynDeviceCtrl1.Activate
    
  XMin = SynDeviceCtrl1.GetLongProperty(SP_XLoSensor)
  XMax = SynDeviceCtrl1.GetLongProperty(SP_XHiSensor)
  YMin = SynDeviceCtrl1.GetLongProperty(SP_YLoSensor)
  YMax = SynDeviceCtrl1.GetLongProperty(SP_YHiSensor)
  ExtentType = 2
  
  ZTouchThreshold = SynDeviceCtrl1.GetLongProperty(SP_ZTouchThreshold) + 20
    
  Utensil = eNone
End Sub

Private Sub Form_Resize()
  Picture1.Left = 0
  Picture1.Top = tbToolBar.Height
  Picture1.Width = Me.ScaleWidth
  Picture1.Height = Me.ScaleHeight - tbToolBar.Height - sbStatusBar.Height
End Sub

Private Sub Form_Unload(Cancel As Integer)
  Dim i As Integer

  SynDeviceCtrl1.Unacquire

  'close all sub forms
  For i = Forms.Count - 1 To 1 Step -1
    Unload Forms(i)
  Next
  If Me.WindowState <> vbMinimized Then
    SaveSetting App.Title, "Settings", "MainLeft", Me.Left
    SaveSetting App.Title, "Settings", "MainTop", Me.Top
    SaveSetting App.Title, "Settings", "MainWidth", Me.Width
    SaveSetting App.Title, "Settings", "MainHeight", Me.Height
  End If
End Sub

Public Sub Form_KeyPress(KeyAscii As Integer)
  If KeyAscii = vbKeyEscape Then
    tbToolBar_ButtonClick tbToolBar.Buttons("None")
  End If
End Sub

Private Sub SynAPICtrl1_OnNotify(ByVal eReason As SYNCTRLLibCtl.SynNotificationReason)
  Select Case eReason
    Case SE_Configuration_Changed
      sbStatusBar.Panels(1).Text = "Configuration Change"
    Case SE_DeviceRemoved
      sbStatusBar.Panels(1).Text = "Device Removed"
    Case SE_DeviceAdded
      sbStatusBar.Panels(1).Text = "Device Added"
  End Select
End Sub

Private Sub SynDeviceCtrl1_OnPacket()
  Static LastX, LastY, LastFinger As Integer
  Dim X, Y, Finger As Integer
  Dim Color As Long
  
  SynDeviceCtrl1.LoadPacket SynPacketCtrl1
  X = (SynPacketCtrl1.X - XMin) * Picture1.Width / (XMax - XMin)
  Y = (YMax - SynPacketCtrl1.Y) * Picture1.Height / (YMax - YMin)
  Finger = SynPacketCtrl1.FingerState And SF_FingerPresent
  
  If Finger And LastFinger And Utensil <> eNone Then
    If SynPacketCtrl1.Z > ZTouchThreshold Then
      Picture1.DrawWidth = SynPacketCtrl1.Z - ZTouchThreshold
    Else
      Picture1.DrawWidth = 1
    End If
    
    Color = IIf(Utensil = ePencil, Picture1.ForeColor, Picture1.BackColor)
    Picture1.Line (LastX, LastY)-(X, Y), Color
  End If
    
  LastX = X
  LastY = Y
  LastFinger = Finger
End Sub

Private Sub tbToolBar_ButtonClick(ByVal Button As MSComCtlLib.Button)
  On Error Resume Next
  Select Case Button.Key
    Case "Pencil"
      Utensil = ePencil
      SynDeviceCtrl1.Acquire (0)
    Case "Eraser"
      Utensil = eEraser
      SynDeviceCtrl1.Acquire (0)
    Case "None"
      Utensil = eNone
      SynDeviceCtrl1.Unacquire
      Button.Value = tbrUnpressed
      tbToolBar.Buttons("Pencil").Value = tbrUnpressed
      tbToolBar.Buttons("Eraser").Value = tbrUnpressed
  End Select
End Sub

Private Sub mnuHelpAbout_Click()
  frmAbout.Show vbModal, Me
End Sub

Private Sub mnuFileNew_Click()
  Picture1.Cls
  Picture1.Picture = Nothing
End Sub

Private Sub mnuFileOpen_Click()
  On Error Resume Next
  dlgCommonDialog.ShowOpen
  If Err <> 32755 Then    ' User chose Cancel.
    Picture1.Picture = LoadPicture(dlgCommonDialog.FileName)
  End If
End Sub

Private Sub mnuFileSave_Click()
  If dlgCommonDialog.FileName <> "" Then
    SavePicture Picture1.Image, dlgCommonDialog.FileName
  Else
    mnuFileSaveAs_Click
  End If
End Sub

Private Sub mnuFileSaveAs_Click()
  On Error Resume Next
  dlgCommonDialog.ShowSave
  If Err <> 32755 Then    ' User chose Cancel.
    SavePicture Picture1.Image, dlgCommonDialog.FileName
  End If
End Sub

Private Sub mnuToolsOptions_Click()
  frmOptions.Show vbModal, Me
End Sub

Private Sub mnuFileExit_Click()
  Unload Me
End Sub

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -