FrmMain.frm
上传用户:xmcp88
上传日期:2022-07-16
资源大小:11k
文件大小:14k
源码类别:

ICQ/即时通讯

开发平台:

Visual Basic

  1. VERSION 5.00
  2. Object = "{F9043C88-F6F2-101A-A3C9-08002B2F49FB}#1.2#0"; "COMDLG32.OCX"
  3. Begin VB.Form FrmMain 
  4.    BorderStyle     =   1  'Fixed Single
  5.    Caption         =   "字+字=字!"
  6.    ClientHeight    =   5490
  7.    ClientLeft      =   1665
  8.    ClientTop       =   1500
  9.    ClientWidth     =   7140
  10.    Icon            =   "FrmMain.frx":0000
  11.    LinkTopic       =   "Form1"
  12.    LockControls    =   -1  'True
  13.    MaxButton       =   0   'False
  14.    ScaleHeight     =   22.875
  15.    ScaleMode       =   4  'Character
  16.    ScaleWidth      =   59.5
  17.    StartUpPosition =   2  '屏幕中心
  18.    Begin VB.CommandButton CmgMsg 
  19.       Caption         =   "使用说明"
  20.       Height          =   375
  21.       Left            =   60
  22.       TabIndex        =   26
  23.       Top             =   4920
  24.       Width           =   1575
  25.    End
  26.    Begin VB.TextBox TxtMain 
  27.       Height          =   4695
  28.       Left            =   1740
  29.       MultiLine       =   -1  'True
  30.       ScrollBars      =   3  'Both
  31.       TabIndex        =   6
  32.       Top             =   600
  33.       Width           =   5175
  34.    End
  35.    Begin VB.PictureBox Picture2 
  36.       BorderStyle     =   0  'None
  37.       Height          =   255
  38.       Left            =   3540
  39.       ScaleHeight     =   255
  40.       ScaleWidth      =   3255
  41.       TabIndex        =   19
  42.       Top             =   120
  43.       Width           =   3255
  44.       Begin VB.OptionButton Op1 
  45.          Alignment       =   1  'Right Justify
  46.          Caption         =   "不处理"
  47.          Height          =   255
  48.          Index           =   0
  49.          Left            =   0
  50.          TabIndex        =   22
  51.          Top             =   0
  52.          Width           =   855
  53.       End
  54.       Begin VB.OptionButton Op1 
  55.          Alignment       =   1  'Right Justify
  56.          Caption         =   "单字重复"
  57.          Height          =   255
  58.          Index           =   1
  59.          Left            =   960
  60.          TabIndex        =   21
  61.          Top             =   0
  62.          Value           =   -1  'True
  63.          Width           =   1095
  64.       End
  65.       Begin VB.OptionButton Op1 
  66.          Alignment       =   1  'Right Justify
  67.          Caption         =   "加空格"
  68.          Height          =   255
  69.          Index           =   2
  70.          Left            =   2280
  71.          TabIndex        =   20
  72.          Top             =   0
  73.          Width           =   975
  74.       End
  75.    End
  76.    Begin VB.PictureBox Picture1 
  77.       BorderStyle     =   0  'None
  78.       Height          =   255
  79.       Left            =   3540
  80.       ScaleHeight     =   255
  81.       ScaleWidth      =   3255
  82.       TabIndex        =   15
  83.       Top             =   360
  84.       Width           =   3255
  85.       Begin VB.OptionButton Op2 
  86.          Alignment       =   1  'Right Justify
  87.          Caption         =   "加空格"
  88.          Height          =   255
  89.          Index           =   2
  90.          Left            =   2280
  91.          TabIndex        =   18
  92.          Top             =   0
  93.          Width           =   975
  94.       End
  95.       Begin VB.OptionButton Op2 
  96.          Alignment       =   1  'Right Justify
  97.          Caption         =   "单字重复"
  98.          Height          =   255
  99.          Index           =   1
  100.          Left            =   960
  101.          TabIndex        =   17
  102.          Top             =   0
  103.          Value           =   -1  'True
  104.          Width           =   1095
  105.       End
  106.       Begin VB.OptionButton Op2 
  107.          Alignment       =   1  'Right Justify
  108.          Caption         =   "不处理"
  109.          Height          =   255
  110.          Index           =   0
  111.          Left            =   0
  112.          TabIndex        =   16
  113.          Top             =   0
  114.          Width           =   855
  115.       End
  116.    End
  117.    Begin VB.CommandButton CmdSave 
  118.       Caption         =   "保存到文件"
  119.       Height          =   375
  120.       Left            =   60
  121.       TabIndex        =   12
  122.       Top             =   4500
  123.       Width           =   1575
  124.    End
  125.    Begin VB.CommandButton CmdCopy 
  126.       Caption         =   "复制到剪贴板"
  127.       Height          =   375
  128.       Left            =   60
  129.       TabIndex        =   5
  130.       Top             =   4080
  131.       Width           =   1575
  132.    End
  133.    Begin VB.PictureBox PicCon 
  134.       BorderStyle     =   0  'None
  135.       Height          =   1455
  136.       Left            =   60
  137.       ScaleHeight     =   1455
  138.       ScaleWidth      =   1575
  139.       TabIndex        =   11
  140.       Top             =   1440
  141.       Width           =   1575
  142.       Begin VB.TextBox TxtOut 
  143.          Height          =   1455
  144.          Left            =   0
  145.          MultiLine       =   -1  'True
  146.          ScrollBars      =   2  'Vertical
  147.          TabIndex        =   2
  148.          Top             =   0
  149.          Width           =   1575
  150.       End
  151.    End
  152.    Begin VB.TextBox TxtBack 
  153.       Height          =   375
  154.       Left            =   60
  155.       TabIndex        =   1
  156.       Top             =   780
  157.       Width           =   1575
  158.    End
  159.    Begin VB.PictureBox PicMain 
  160.       AutoRedraw      =   -1  'True
  161.       BackColor       =   &H00FFFFFF&
  162.       BorderStyle     =   0  'None
  163.       ForeColor       =   &H00000000&
  164.       Height          =   1575
  165.       Left            =   2340
  166.       ScaleHeight     =   105
  167.       ScaleMode       =   3  'Pixel
  168.       ScaleWidth      =   121
  169.       TabIndex        =   8
  170.       Top             =   960
  171.       Visible         =   0   'False
  172.       Width           =   1815
  173.    End
  174.    Begin MSComDlg.CommonDialog CDGMain 
  175.       Left            =   2220
  176.       Top             =   1920
  177.       _ExtentX        =   847
  178.       _ExtentY        =   847
  179.       _Version        =   393216
  180.    End
  181.    Begin VB.CommandButton CmdFont 
  182.       Caption         =   "设置字体"
  183.       Height          =   375
  184.       Left            =   60
  185.       TabIndex        =   3
  186.       Top             =   2940
  187.       Width           =   1575
  188.    End
  189.    Begin VB.CommandButton CmdMain 
  190.       Caption         =   "开始生成"
  191.       Height          =   375
  192.       Left            =   60
  193.       TabIndex        =   4
  194.       Top             =   3660
  195.       Width           =   1575
  196.    End
  197.    Begin VB.TextBox TxtIn 
  198.       Height          =   375
  199.       Left            =   60
  200.       TabIndex        =   0
  201.       Top             =   180
  202.       Width           =   1575
  203.    End
  204.    Begin VB.Label Label1 
  205.       AutoSize        =   -1  'True
  206.       Caption         =   "生成文字:"
  207.       Height          =   180
  208.       Index           =   2
  209.       Left            =   60
  210.       TabIndex        =   25
  211.       Top             =   1200
  212.       Width           =   810
  213.    End
  214.    Begin VB.Label Label1 
  215.       AutoSize        =   -1  'True
  216.       Caption         =   "背景文字:"
  217.       Height          =   180
  218.       Index           =   1
  219.       Left            =   60
  220.       TabIndex        =   24
  221.       Top             =   600
  222.       Width           =   810
  223.    End
  224.    Begin VB.Label Label1 
  225.       AutoSize        =   -1  'True
  226.       Caption         =   "组合文字:"
  227.       Height          =   180
  228.       Index           =   0
  229.       Left            =   60
  230.       TabIndex        =   23
  231.       Top             =   0
  232.       Width           =   810
  233.    End
  234.    Begin VB.Label Lblbac 
  235.       AutoSize        =   -1  'True
  236.       Caption         =   "背  景 英文>>中文:"
  237.       Height          =   180
  238.       Left            =   1740
  239.       TabIndex        =   14
  240.       Top             =   360
  241.       Width           =   1710
  242.    End
  243.    Begin VB.Label LblEng 
  244.       AutoSize        =   -1  'True
  245.       Caption         =   "组合字 英文>>中文:"
  246.       Height          =   180
  247.       Left            =   1740
  248.       TabIndex        =   13
  249.       Top             =   120
  250.       Width           =   1710
  251.    End
  252.    Begin VB.Label TxtY 
  253.       BorderStyle     =   1  'Fixed Single
  254.       Height          =   255
  255.       Left            =   900
  256.       TabIndex        =   10
  257.       Top             =   3360
  258.       Width           =   735
  259.    End
  260.    Begin VB.Label TxtX 
  261.       BorderStyle     =   1  'Fixed Single
  262.       Height          =   255
  263.       Left            =   60
  264.       TabIndex        =   9
  265.       Top             =   3360
  266.       Width           =   735
  267.    End
  268.    Begin VB.Label LblMain 
  269.       AutoSize        =   -1  'True
  270.       BackColor       =   &H00FFC0FF&
  271.       Caption         =   "L"
  272.       Height          =   180
  273.       Left            =   1980
  274.       TabIndex        =   7
  275.       Top             =   2280
  276.       Visible         =   0   'False
  277.       Width           =   90
  278.    End
  279. End
  280. Attribute VB_Name = "FrmMain"
  281. Attribute VB_GlobalNameSpace = False
  282. Attribute VB_Creatable = False
  283. Attribute VB_PredeclaredId = True
  284. Attribute VB_Exposed = False
  285. Option Explicit
  286. Dim AllOutStr As String
  287. Private Sub CmdCopy_Click()
  288.     Clipboard.Clear
  289.     Clipboard.SetText TxtMain.Text
  290. End Sub
  291. Private Sub CmdFont_Click()
  292. On Error Resume Next
  293. CDGMain.Flags = 255
  294. CDGMain.ShowFont
  295. With TxtOut
  296.     .FontName = CDGMain.FontName
  297.     .FontSize = CDGMain.FontSize
  298.     .FontItalic = CDGMain.FontItalic
  299.     .FontBold = CDGMain.FontBold
  300.     LblMain.FontName = CDGMain.FontName
  301. End With
  302. With LblMain
  303.     .FontName = CDGMain.FontName
  304.     .FontSize = CDGMain.FontSize
  305.     .FontItalic = CDGMain.FontItalic
  306.     .FontBold = CDGMain.FontBold
  307. End With
  308. With PicMain
  309.     .FontName = CDGMain.FontName
  310.     .FontSize = CDGMain.FontSize
  311.     .FontItalic = CDGMain.FontItalic
  312.     .FontBold = CDGMain.FontBold
  313. End With
  314.     
  315. End Sub
  316. Private Sub CmdMain_Click()
  317. Dim IsEng As Boolean, WhSel As Integer, WhSelBack As Integer
  318. Dim Px As Long, Py As Long, N As Long, AllOutStrNum As Long
  319. Dim StrIn() As String, StrInLen As Long, CurStr As String, CurStrInLen As Long
  320. Dim StrBack() As String, StrBackLen As Long, CurStrBack As String, CurStrBackLen As Long
  321. Dim StrOut As String
  322. Dim S As String
  323. Dim AllStr As String
  324.     If TxtIn.Text = "" Then MsgBox "请输入组合字": Exit Sub
  325.     If TxtOut.Text = "" Then MsgBox "请输入输出文字": Exit Sub
  326.     If TxtBack.Text = "" Then TxtBack.Text = " "
  327.     For N = 0 To 2
  328.         If Op1(N).Value = True Then WhSel = N
  329.         If Op2(N).Value = True Then WhSelBack = N
  330.     Next N
  331.     
  332.     S = TxtIn.Text
  333.     StrInLen = Len(S)
  334.     IsEng = True
  335.     ReDim StrIn(0)
  336.     For N = 1 To StrInLen
  337.         CurStr = Mid(S, N, 1)
  338.         ReDim Preserve StrIn(0 To UBound(StrIn) + 1)
  339.         StrIn(UBound(StrIn)) = CurStr
  340.         If Asc(CurStr) < 0 Then
  341.             IsEng = False
  342.         Else
  343.             If WhSel = 1 Then
  344.                 StrIn(UBound(StrIn)) = CurStr & CurStr
  345.             ElseIf WhSel = 2 Then
  346.                 StrIn(UBound(StrIn)) = CurStr & " "
  347.             End If
  348.         End If
  349.     Next N
  350.     If IsEng = True And WhSel > 0 And LblEng.Tag = "" Then MsgBox "组合字符无中文,建议将英文>>中文选择“不处理!”": LblEng.Tag = "0"
  351.     
  352.     S = TxtBack.Text
  353.     StrBackLen = Len(S)
  354.     ReDim StrBack(0)
  355.     For N = 1 To StrBackLen
  356.         CurStrBack = Mid(S, N, 1)
  357.         ReDim Preserve StrBack(0 To UBound(StrBack) + 1)
  358.         StrBack(UBound(StrBack)) = CurStrBack
  359.         If Asc(CurStrBack) > 0 And Asc(CurStrBack) < 256 Then
  360.             If WhSelBack = 1 Then
  361.                 StrBack(UBound(StrBack)) = CurStrBack & CurStrBack
  362.             ElseIf WhSelBack = 2 Then
  363.                 StrBack(UBound(StrBack)) = CurStrBack & " "
  364.             End If
  365.         End If
  366.     Next N
  367.     
  368.     AllOutStr = TxtOut.Text
  369.     StrInLen = UBound(StrIn)
  370.     StrBackLen = UBound(StrBack)
  371.     CurStrInLen = 0
  372.     CurStrBackLen = 0
  373.     For AllOutStrNum = 1 To Len(AllOutStr)
  374.         S = ""
  375.         Call GetPicXY(Mid(AllOutStr, AllOutStrNum, 1))
  376.         For N = 0 To PicMain.ScaleHeight - 1
  377.             For Px = 0 To PicMain.ScaleWidth - 1
  378.                 If PicMain.Point(Px, N) = 0 Then GoTo GETPY
  379.             Next Px
  380.         Next N
  381. GETPY:
  382.         For Py = IIf(N < 6, 0, N - 3) To PicMain.ScaleHeight - 1
  383.             For Px = 0 To PicMain.ScaleWidth - 1
  384.                 CurStrInLen = CurStrInLen Mod StrInLen + 1
  385.                 CurStrBackLen = CurStrBackLen Mod StrBackLen + 1
  386.                 If PicMain.Point(Px, Py) = 0 Then S = S & StrIn(CurStrInLen) Else S = S & StrBack(CurStrBackLen)
  387.             Next Px
  388.             AllStr = AllStr & S & Chr(13) & Chr(10)
  389.             S = ""
  390.         Next Py
  391.     Next AllOutStrNum
  392.     
  393.     TxtMain.Text = AllStr
  394.     AllStr = ""
  395.     Erase StrIn
  396.     Erase StrBack
  397. End Sub
  398. Private Sub CmdSave_Click()
  399. On Error Resume Next
  400.     Dim FName As String
  401.     Dim A As Integer
  402.     CDGMain.Flags = 0
  403.     CDGMain.Filter = "*.txt|*.txt"
  404.     CDGMain.ShowSave
  405.     FName = CDGMain.FileName
  406.     If FName = "" Then Exit Sub
  407.     If Dir(FName, vbSystem + vbHidden) <> "" Then A = MsgBox("该文件已经存在,是否要覆盖?", vbOKCancel, "确定")
  408.     If A = vbCancel Then Exit Sub
  409.     Open FName For Output As #1
  410.         Print #1, TxtMain.Text
  411.     Close #1
  412. If Err Then MsgBox "写入不成功,文件可能写保护", vbCritical, "错误"
  413. End Sub
  414. Private Sub CmgMsg_Click()
  415. Dim SStr As String
  416.     SStr = "该程序完全用于娱乐!" & Chr(13) & Chr(10) & Chr(13) & Chr(10)
  417.     SStr = SStr & "组合文字即所构成目标文字的主要文字" & Chr(13) & Chr(10)
  418.     SStr = SStr & "背景文字作为填充,通常不选(即用空格),也可以用文字" & Chr(13) & Chr(10)
  419.     SStr = SStr & "组合与背景最好是对比分明的,否则看不清" & Chr(13) & Chr(10)
  420.     SStr = SStr & "可以是多个文字,将用来循环填充!" & Chr(13) & Chr(10)
  421.     MsgBox SStr, vbInformation, "怎么做大字?"
  422.     SStr = ""
  423. End Sub
  424. Private Sub Form_Load()
  425. TxtOut.Height = TxtOut.Width
  426. End Sub
  427. Private Sub TxtMain_DblClick()
  428. TxtMain.SelStart = 0
  429. TxtMain.SelLength = Len(TxtMain.Text)
  430. End Sub
  431. Private Sub TxtOut_KeyUp(KeyCode As Integer, Shift As Integer)
  432. If KeyCode = 13 Then Call CmdMain_Click
  433. End Sub
  434. Private Sub TxtOut_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
  435.     TxtOut.SelStart = 0
  436.     TxtOut.SelLength = Len(TxtOut.Text)
  437. End Sub
  438. Private Sub GetPicXY(ByVal WhStr As String)
  439.     PicMain.Cls
  440.     LblMain.Caption = WhStr
  441.     PicMain.Width = LblMain.Width
  442.     PicMain.Height = LblMain.Height
  443.     If PicMain.FontItalic = True Then PicMain.Width = PicMain.Width * 1.2
  444.     PicMain.Print WhStr
  445.     
  446.     TxtX = PicMain.Width
  447.     TxtY = PicMain.Height
  448. End Sub