Form1.frm
上传用户:hx800c
上传日期:2020-12-02
资源大小:792k
文件大小:11k
源码类别:

编辑框

开发平台:

Visual Basic

  1. VERSION 5.00
  2. Object = "{62057841-98CC-4E93-90FB-E56975B2CE87}#1.0#0"; "PEOcx.ocx"
  3. Object = "{33576EEB-95E5-47F4-B538-685746D71157}#1.0#0"; "WebR.ocx"
  4. Object = "{F9043C88-F6F2-101A-A3C9-08002B2F49FB}#1.2#0"; "Comdlg32.ocx"
  5. Object = "{CC888B26-5CB7-4691-9FCA-6AB8BC181E7A}#1.0#0"; "ScreenCap.ocx"
  6. Begin VB.Form Form1 
  7.    Caption         =   "Form1"
  8.    ClientHeight    =   6945
  9.    ClientLeft      =   60
  10.    ClientTop       =   345
  11.    ClientWidth     =   7905
  12.    LinkTopic       =   "Form1"
  13.    ScaleHeight     =   463
  14.    ScaleMode       =   3  'Pixel
  15.    ScaleWidth      =   527
  16.    StartUpPosition =   3  '窗口缺省
  17.    Begin SCREENCAPLib.ScreenCap ScreenCap1 
  18.       Height          =   255
  19.       Left            =   6480
  20.       TabIndex        =   6
  21.       Top             =   4920
  22.       Width           =   255
  23.       _Version        =   65536
  24.       _ExtentX        =   450
  25.       _ExtentY        =   450
  26.       _StockProps     =   0
  27.    End
  28.    Begin VB.CommandButton Command4 
  29.       Caption         =   "截屏"
  30.       Height          =   495
  31.       Left            =   1560
  32.       TabIndex        =   5
  33.       Top             =   4440
  34.       Width           =   735
  35.    End
  36.    Begin MSComDlg.CommonDialog cmdlgDemo 
  37.       Left            =   5760
  38.       Top             =   5040
  39.       _ExtentX        =   847
  40.       _ExtentY        =   847
  41.       _Version        =   393216
  42.    End
  43.    Begin VB.CommandButton Command3 
  44.       Caption         =   "字体"
  45.       Height          =   495
  46.       Left            =   840
  47.       TabIndex        =   3
  48.       Top             =   4440
  49.       Width           =   735
  50.    End
  51.    Begin VB.CommandButton Command2 
  52.       Caption         =   "表情"
  53.       Height          =   495
  54.       Left            =   120
  55.       TabIndex        =   2
  56.       Top             =   4440
  57.       Width           =   735
  58.    End
  59.    Begin VB.CommandButton BtnSend 
  60.       Caption         =   "发送"
  61.       Height          =   495
  62.       Left            =   5760
  63.       TabIndex        =   1
  64.       Top             =   6000
  65.       Width           =   1215
  66.    End
  67.    Begin PEOCXLib.PEOcx P2PEdit 
  68.       Height          =   1935
  69.       Left            =   120
  70.       TabIndex        =   0
  71.       Top             =   4920
  72.       Width           =   5295
  73.       _Version        =   65536
  74.       _ExtentX        =   9340
  75.       _ExtentY        =   3413
  76.       _StockProps     =   0
  77.    End
  78.    Begin WEBRLib.WebR WebR1 
  79.       Height          =   4065
  80.       Left            =   120
  81.       TabIndex        =   4
  82.       Top             =   240
  83.       Width           =   5295
  84.       _Version        =   65536
  85.       _ExtentX        =   9340
  86.       _ExtentY        =   7170
  87.       _StockProps     =   0
  88.    End
  89. End
  90. Attribute VB_Name = "Form1"
  91. Attribute VB_GlobalNameSpace = False
  92. Attribute VB_Creatable = False
  93. Attribute VB_PredeclaredId = True
  94. Attribute VB_Exposed = False
  95. '''''''''''''''''''''''
  96. 'PRTX 通讯开发组件   www.webp2p.com
  97. '
  98. '深圳市纵横网络服务有限公司  2006 年 8 月
  99. '本文件演示文字输入,表情输入和显示,以及截屏功能
  100. '使用前,请注册peocx.ocx  webr.ocx  screencap.ocx
  101. '如果没有请联系 www.webp2p.com
  102. '本三个控件可以在您的软件中免费使用,
  103. '
  104. '    *******    *******    **********  **       **
  105. '    ********   ********   **********   **     **
  106. '    **    **   **    **       **        **   **
  107. '    **   **    **   **        **         ** **
  108. '    *****      *** **         **          ***
  109. '    ***        ****           **          ***
  110. '    **         ** **          **         ** **
  111. '    **         **  **         **        **   **
  112. '    **         **   **        **       **     **
  113. '    **         **    **       **      **       **
  114. '本公司开发和销售成套 PRTX 网络通讯开发包,'PRTX 适合任何互联网通讯
  115. '包括文字,P2P内存传输组件,P2P语音,P2P视频,P2P文件传输,P2P远程协助,P2P电子白板开发套件,使用P2P传输,高性能服务器,分布式解决方案
  116. '免安装 WebIM 开发插件,通过 javascript 即可开发网页即时通讯
  117. '如果您为您的软件的通讯功能发愁,请访问 www.webp2p.com 或许您会有收获。
  118. Option Explicit
  119. Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
  120. Private Type MY_FONT
  121.     Size As Integer
  122.     name As String
  123.     bold As Boolean
  124.     italic As Boolean
  125.     underline As Boolean
  126.     strike As Boolean
  127.     nColor As Long
  128. End Type
  129. Private m_Font As MY_FONT
  130. Private Sub Command1_Click()
  131. End Sub
  132. Private Sub SendMsg(sMsg As String)
  133.     RecvMsg (sMsg)
  134. End Sub
  135. Private Sub RecvMsg(sMsg As String)
  136.      AddHtmlText P2PEdit.Txt2Html(sMsg, App.Path & "smiley", 1) & "<br><br>", "PRTX - www.webp2p.com"
  137.     
  138. End Sub
  139. Private Sub BtnSend_Click()
  140.         Dim sContentTmp() As String
  141.         
  142.          '检查不能只有空字符或者换行符号
  143.           Dim stttt As String
  144.            Dim Str As String
  145.            
  146.            Str = P2PEdit.GetSendText
  147.            sContentTmp = Split(Str, "C")
  148.            If UBound(sContentTmp) > 0 Then
  149.                stttt = sContentTmp(1)
  150.            Else
  151.                Exit Sub
  152.            End If
  153.            stttt = Replace(stttt, Chr(13), "")
  154.           stttt = Replace(stttt, Chr(10), "")
  155.         
  156.          '如果是空内容,就直接退出
  157.            If Len(Trim(stttt)) = 0 Then
  158.                P2PEdit.ClearRTF
  159.                Exit Sub
  160.            End If
  161. If Len(P2PEdit.GetPlanText) > 0 Then
  162.     SendMsg P2PEdit.GetSendText
  163.     P2PEdit.ClearRTF
  164. End If
  165.     P2PEdit.FocusEdit
  166. End Sub
  167. Private Sub Command2_Click()
  168.        Dim pos As POINTAPI
  169.         GetCursorPos pos
  170.         
  171.         With frmIcoPictures
  172.         Dim nBottom As Integer
  173.         nBottom = .ScaleHeight - .Picture1.Height
  174.          ' .Move frmTalkTo.Left + BtnSmiley.Left + PictParent.Left + BtnSmiley.Width + 2 * Screen.TwipsPerPixelX, _
  175.                 '  frmTalkTo.Top + PicBox(5).Top + PicBox(4).Height + BtnSmiley.Height,
  176.           .Move pos.x * Screen.TwipsPerPixelX, pos.y * Screen.TwipsPerPixelY - .Height, _
  177.                 SMILEY_COLS * .btnFace(0).Width * Screen.TwipsPerPixelX + Screen.TwipsPerPixelX * SMILEY_EDGE * 5
  178.                 ', _
  179.                 'SMILEY_ROWS * .btnFace(0).Width * Screen.TwipsPerPixelY + Screen.TwipsPerPixelY * 10 + .btnNext.Height
  180.                 
  181.              '.Picture1.Move 0, 0, .Width - Screen.TwipsPerPixelX * SMILEY_EDGE * 2, _
  182.                     .Height - .btnNext.Height - Screen.TwipsPerPixelY * 3
  183.             ' .btnNext.Move .ScaleWidth - .btnNext.Width - 3, .ScaleHeight - 3 - .btnNext.Height
  184.             .Show
  185.             Set .m_frm = Me
  186.          '   .Command1.Move 0, .Picture1.Height / Screen.TwipsPerPixelY - 10
  187.             '.Line1.x 0, .Picture1.Height / Screen.TwipsPerPixelY - 10
  188.           '    frmIcoPictures.Line (0, .Picture1.Height / Screen.TwipsPerPixelY - Screen.TwipsPerPixelY) _
  189.            '      -(.Picture1.ScaleWidth, .Picture1.Height / Screen.TwipsPerPixelY - 10)
  190.         End With
  191. End Sub
  192. Private Sub Command3_Click()
  193.    cmdlgDemo.Flags = cdlCFBoth + cdlCFEffects '+ cdlOFNHideReadOnly
  194.       
  195.        With cmdlgDemo
  196.             .FontName = m_Font.name
  197.            .FontSize = m_Font.Size
  198.            .FontBold = m_Font.bold
  199.            .FontItalic = m_Font.italic
  200.            .FontUnderline = m_Font.underline
  201.            .FontStrikethru = m_Font.strike
  202.            .Color = m_Font.nColor
  203.            .ShowFont
  204.           
  205.            P2PEdit.SetRTFFont .FontBold, .FontItalic, .FontUnderline, .Color, _
  206.             .FontName, .FontSize, .FontStrikethru
  207.              m_Font.bold = .FontBold
  208.             m_Font.italic = .FontItalic
  209.             m_Font.name = .FontName
  210.             m_Font.nColor = .Color
  211.             m_Font.Size = .FontSize
  212.             m_Font.strike = .FontStrikethru
  213.             m_Font.underline = .FontUnderline
  214.        End With
  215. End Sub
  216. '这里插入图片 index是图号,nPage是目录nType=1 表示是表情,2表示是其它硬盘上的图片
  217. Public Static Sub InsertPics(Index As Integer, nPage As Integer, nType As Integer)
  218. On Error GoTo ErrHand
  219.   Dim ind As Integer
  220.   
  221.   ind = nPage * 100 + Index
  222.   Dim strP As String
  223.   strP = App.Path & "smiley" & nPage & "" & Index & ".gif"
  224.   P2PEdit.InsertPic strP, ind, "", nType
  225.   Debug.Print "插入图" & strP & "index: "; ind & "nType: " & nType
  226. Exit Sub
  227. ErrHand:
  228.    Debug.Print "InsertPics:::: Error: " & Err.Description
  229. End Sub
  230. '加载笑脸 nPage是目录号
  231. Public Sub loadSmiley(nPage As Integer)
  232. On Error GoTo ErrHand
  233.      frmIcoPictures.Hide
  234.      
  235.      Dim W As Integer
  236.      W = frmIcoPictures.btnFace(0).Width
  237.         Dim ii As Integer, i As Integer
  238.         For i = 0 To SMILEY_ROWS - 1
  239.             For ii = 0 To SMILEY_COLS - 1
  240.               If i * 12 + ii > 0 Then Load frmIcoPictures.btnFace(ii + i * SMILEY_COLS)
  241.                     frmIcoPictures.btnFace(ii + i * SMILEY_COLS).bFlat = True
  242.                       frmIcoPictures.btnFace(ii + i * SMILEY_COLS).Move SMILEY_EDGE + W * ii, SMILEY_EDGE + W * i
  243.                       'Debug.Print ii + I * SMILEY_COLS '& " To " & EDGE + w * ii & " , " & EDGE + w * i
  244.  
  245.                       Set frmIcoPictures.btnFace(ii + i * SMILEY_COLS).Image = LoadPicture(App.Path & "smiley" & nPage & "" & Trim(Str(i * SMILEY_COLS + ii)) + ".gif")
  246.                       frmIcoPictures.btnFace(ii + i * SMILEY_COLS).Visible = True
  247.             Next ii
  248.          Next i
  249.   
  250. Exit Sub
  251. ErrHand:
  252.     Debug.Print "loadSmiley:::: Error: " & Err.Description
  253. End Sub
  254. '发送截屏的图片
  255. Public Sub SendCaptureScreen()
  256.  
  257.  
  258.  '如果是群聊
  259.   Dim d     As Date
  260.   Dim lsec     As Long
  261.   d = Now
  262.   lsec = DateDiff("s", #1/1/1970#, d)     '获得当前时间秒数
  263.   
  264.   Dim strPath As String
  265.      strPath = App.Path & "" & lsec & ".bmp"
  266.     '如果截取了屏幕
  267.      If ScreenCap1.StartCap(strPath) Then
  268.         Dim Str As String
  269.         Str = Mid(strPath, 1, Len(strPath) - 4)
  270.         Str = Str & ".gif"
  271.         '显示到输入窗中
  272.         P2PEdit.ConvertBmpTo strPath, Str   '目前只能将bmp转成gif,没有转成jpg
  273.         P2PEdit.InsertPic Str, 0, "", 2     '因为不是表情,所以nNum是2
  274.     End If
  275. End Sub
  276. Private Sub Command4_Click()
  277.     SendCaptureScreen
  278. End Sub
  279. Private Sub Form_Load()
  280. m_Font.Size = 12
  281. m_Font.name = "宋体"
  282. P2PEdit.SetRTFFont False, False, False, 0, m_Font.name, m_Font.Size, False
  283. '加载第一个目录中的表情
  284.  loadSmiley 1
  285.  
  286.  P2PEdit.bCtrlEnter = True  'ctrl+enter触发
  287.  
  288. End Sub
  289. Private Sub Form_Unload(Cancel As Integer)
  290. Unload frmIcoPictures
  291. End Sub
  292. Private Sub P2PEdit_EditKeyDown(ByVal nChar As Long)
  293.  Debug.Print "P2PEdit_EditKeyDown " & nChar
  294.     If nChar = 999999 Then  '如果是999999表示按了
  295.        BtnSend_Click
  296.     End If
  297.     
  298. End Sub
  299. Private Sub P2PEdit_SendFile(ByVal sPath As String, ByVal sStr As String, ByVal nNum As Long)
  300.      Debug.Print sPath & "  str " & sStr & "  num " & nNum
  301.      Dim Str As String
  302.      Str = Mid(sPath, 1, Len(sPath) - 4)
  303.   
  304.      SendPicP2P Str
  305.      
  306. End Sub
  307. Public Sub AddHtmlText(sMsg As String, sNick As String)
  308.     Dim ssH As String
  309.     Dim stime As String
  310.      stime = CStr(Now)
  311.     
  312.     ssH = sMsg & "<BR><font size=1><br></font>"
  313.      
  314.     Dim ss As String
  315.     ss = "<font  size=2 color=red>" & sNick & "</font>" & " " & "<font  size=2>" & stime & "<br>" & "</font>" & ssH
  316.       WebR1.AddHTML ss
  317.  End Sub
  318. Public Sub AddHtmlPic(sPath As String, sNick As String)
  319.  Dim stime As String
  320.      stime = CStr(Now)
  321.    
  322.     WebR1.AddHTML "<font  size=2 color=red>" & sNick & "</font>" & " " & "<font  size=2>" & stime & "<br>" & "</font>"
  323.     WebR1.AddHTML "<p><img border='0' src='" & sPath & "'></p>"
  324.  
  325. End Sub
  326. Private Sub SendPicP2P(sPath As String)
  327.     AddHtmlPic sPath, "www.webp2p.com"
  328. End Sub