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

📄 tabs.frm

📁 文档编程软件,类似WORD的一个编辑工具.
💻 FRM
字号:
VERSION 5.00
Begin VB.Form frmTabs 
   BorderStyle     =   3  'Fixed Dialog
   Caption         =   "制表位"
   ClientHeight    =   2535
   ClientLeft      =   45
   ClientTop       =   330
   ClientWidth     =   2955
   ControlBox      =   0   'False
   LinkTopic       =   "Form1"
   MaxButton       =   0   'False
   MinButton       =   0   'False
   ScaleHeight     =   2535
   ScaleWidth      =   2955
   ShowInTaskbar   =   0   'False
   StartUpPosition =   1  '所有者中心
   Begin VB.TextBox txtTabStop 
      Height          =   285
      Left            =   0
      TabIndex        =   6
      Top             =   300
      Width           =   1635
   End
   Begin VB.ListBox lstTabs 
      Height          =   1680
      Left            =   180
      Sorted          =   -1  'True
      TabIndex        =   5
      Top             =   660
      Width           =   1455
   End
   Begin VB.CommandButton cmdOK 
      Caption         =   "确定"
      Default         =   -1  'True
      Height          =   390
      Left            =   1785
      TabIndex        =   4
      Top             =   75
      Width           =   1110
   End
   Begin VB.CommandButton cmdCxl 
      Cancel          =   -1  'True
      Caption         =   "取消"
      Height          =   390
      Left            =   1785
      TabIndex        =   3
      Top             =   525
      Width           =   1110
   End
   Begin VB.CommandButton cmdSet 
      Caption         =   "设置(&S)"
      Enabled         =   0   'False
      Height          =   390
      Left            =   1785
      TabIndex        =   2
      Top             =   1200
      Width           =   1110
   End
   Begin VB.CommandButton cmdClear 
      Caption         =   "删除(&C)"
      Enabled         =   0   'False
      Height          =   390
      Left            =   1785
      TabIndex        =   1
      Top             =   1650
      Width           =   1110
   End
   Begin VB.CommandButton cmdClearAll 
      Caption         =   "全部删除(&A)"
      Height          =   390
      Left            =   1785
      TabIndex        =   0
      Top             =   2100
      Width           =   1110
   End
   Begin VB.Label lblLabel1 
      AutoSize        =   -1  'True
      Caption         =   "制表位位置(&P):"
      Height          =   180
      Left            =   0
      TabIndex        =   7
      Top             =   60
      Width           =   1260
   End
End
Attribute VB_Name = "frmTabs"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
'部分代码版权(C) 1995, Microsoft Corporation
'-----HHZealot 翻译(superhrz@elong.com)-----
Option Explicit
Option Base 1   '设置数组下标的缺省下界

Dim mblnLoading As Boolean '加载的标志

'*************************************************
' 目的:  在列表框中添加一个制表位
'*************************************************
Private Sub btnAdd_Click()
    Dim intI As Integer '计数器
    Dim blnMatch As Boolean '匹配标志

    blnMatch = False '设置“匹配标识”为 False
    '检查新的制表位已经存在在列表中了
    For intI = 0 To lstTabs.ListCount - 1
        If txtTabStop.Text = lstTabs.List(intI) Then
            '若文本已经在列表中了,匹配标志为 True
            blnMatch = True
        End If
    Next intI
    
    If Not blnMatch Then '如果不匹配
        '把它添加到列表中
        lstTabs.AddItem txtTabStop.Text
    End If
End Sub


'*************************************************
' 目的:  过滤所按下的键(仅限于数字)
'*************************************************
Private Sub cboTab_KeyPress(KeyAscii As Integer)
    If Not ((KeyAscii >= Asc("0") And KeyAscii <= Asc("9")) Or KeyAscii = Asc(".")) Then
        KeyAscii = 0 '取消按键
        Beep
    End If
End Sub


'*************************************************
' 目的:  设置制表位到活动的 RTF 控件中
'*************************************************
Sub SetTabs()
    '更新在活动窗体中的列表
    With frmDDWordPadMDI.ActiveForm
        Dim intI As Integer
        
        .ScaleMode = 1 '缇
        .rtf.SelTabCount = lstTabs.ListCount
        ReDim intOldTabs(0 To .rtf.SelTabCount)
        For intI = 0 To lstTabs.ListCount - 1
            '添加新的项目到列表中
            .rtf.SelTabs(intI) = lstTabs.List(intI) * 1440#
            intOldTabs(intI) = .rtf.SelTabs(intI)
        Next intI
    End With
End Sub

'*************************************************
' 目的:   从制表位列表框中删除当前的项
'*************************************************
Private Sub cmdClear_Click()
    '删除它
    lstTabs.RemoveItem lstTabs.ListIndex
    '使“删除”按钮无效
    cmdClear.Enabled = False
    '使“设置”按钮有效
    cmdSet.Enabled = True
    '设置焦点在“设置”按钮上
    cmdSet.SetFocus
End Sub

'*************************************************
' 目的:   从列表框中删除所有的制表位
'*************************************************
Private Sub cmdClearAll_Click()
    lstTabs.Clear '清除它们
    txtTabStop.Text = "" '清除制表位文字
    txtTabStop.SetFocus '设置焦点在新的的制表位文本框上
End Sub

'*************************************************
' 目的:   卸载窗体
'*************************************************
Private Sub cmdCxl_Click()
    Unload Me
End Sub

'***************************************************
' 目的:   在调用此对话框的文档中设置新的的制表位值
'***************************************************
Private Sub cmdOK_Click()
    SetTabs '调用子程序为了在此对话框的文档设置制表位
    Unload Me '关闭窗体
End Sub

'*************************************************
' 目的:  在列表框中添加新的的制表位
'*************************************************
Private Sub cmdSet_Click()
    '添加制表位
    lstTabs.AddItem txtTabStop.Text
    '“清除”按钮有效
    cmdClear.Enabled = True
    '“设置”按钮无效
    cmdSet.Enabled = False
End Sub

'*************************************************
' 目的:  设置加载的标志
'*************************************************
Private Sub Form_Load()
    mblnLoading = True
End Sub

'***************************************************
' 目的:   从调用窗体到此窗体来加载制表位的值
'***************************************************
Private Sub Form_Paint()
    If mblnLoading = True Then '窗体已经被加载了
        Dim intI As Integer '计数器
        For intI = 0 To frmDDWordPadMDI.ActiveForm.rtf.SelTabCount - 1
            '添加 RTF项到列表框
            'MsgBox .rtfRichTextBox1.SelTabs(intI)
            Dim sglTabValue As Single
            sglTabValue = frmDDWordPadMDI.ActiveForm.rtf.SelTabs(intI) / 1440#
            sglTabValue = CInt(sglTabValue * 100) / 100#
            lstTabs.AddItem Str(sglTabValue)
        Next intI
        mblnLoading = False '完毕
    End If
End Sub



'*************************************************
' 目的:  更新文本框来显示制表位的值
'*************************************************
Private Sub lstTabs_Click()
    '设置制表位文本框的值为列表框的所选项的值
    txtTabStop.Text = Trim(lstTabs.List(lstTabs.ListIndex))
End Sub

'*************************************************
' 目的:  设置按钮的 Enabled 属性的值由文本框的内
'        容而定
'*************************************************
Private Sub txtTabStop_Change()
    If Len(txtTabStop.Text) > 0 Then
        '在文本框中是否有文字
        '使“设置”按钮有效
        cmdSet.Enabled = True
        Dim intI As Integer '计数器
        For intI = 0 To lstTabs.ListCount - 1
            If Val(txtTabStop.Text) = Val(lstTabs.List(intI)) Then
                '文字在列表框中已经存在,使“删除”按钮有效、“设置”按钮无效
                cmdClear.Enabled = True
                cmdSet.Enabled = False
                '设置列表框的索引来匹配用户输入的值
                lstTabs.ListIndex = intI
                '移动选定光标来结束输入的字符串
                txtTabStop.SelStart = Len(txtTabStop.Text)
                txtTabStop.SelLength = 0
            End If
        Next intI
    Else
        '无文字
        '设置“设置”“清除”按钮都无效
        cmdSet.Enabled = False
        cmdClear.Enabled = False
    End If
End Sub

⌨️ 快捷键说明

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