📄 frmmain.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 + -