• Vui lòng đọc nội qui diễn đàn để tránh bị xóa bài viết
  • Tìm kiếm trước khi đặt câu hỏi

Sử dụng Rich Text Box bằng chương trình giả lập Wordpad

Các bài viết hướng dẫn về Visual Basic .NET và C#

Điều hành viên: tungcan5diop, QUANITGROBEST

Hình đại diện của người dùng
onlysoft
Thành viên tâm huyết
Thành viên tâm huyết
Bài viết: 330
Ngày tham gia: T.Tư 26/03/2008 6:32 pm
Đến từ: ONLYSOFT
Been thanked: 8 time

Sử dụng Rich Text Box bằng chương trình giả lập Wordpad

Gửi bàigửi bởi onlysoft » T.Hai 31/03/2008 7:21 pm

Tên bài viết: Học cách sử dụng Rich Text Box bằng chương trình giả lập Wordpad
Tác giả: Only Nguyễn
Cấp độ bài viết: Chưa đánh giá
Tóm tắt: :D nly sẻ hướng dẩn các bạn cách sử dụng Rich Text Box bằng chương trình giả lập Wordpad



Học cách sử dụng Rich Text Box bằng chương trình giả lập Wordpad
Window cung cấp cho người dùng một chương trình xử lý văn bản đồ họa khá tốt đó là Wordpad, tuy nhiên chúng ta vẫn thường hay sử dụng WINWORD nhưng Only không dám mơ tới WINWORD đâu, chỉ tiện hơn cái Wordpad một tý thôi, chương trình minh họa lần này là Wordpad.NET cái tên ngộ không kém Notepad.NET .^^.
Giao diện chương trình như sau :
Ảnh minh họa đây :
Hình ảnh
Để xem chi tiết các bạn sang link đây để tham khảo nha :
viewtopic.php?f=41&t=84
Các bạn nhớ chạy thử chương trình trước khi bước vào bài học nha ! Bởi vì khi chạy nó mới biết cách thức nó hoạt động.
mà này các bạn khoan gửi bài cho đến khi :(( nly gửi hết đả nha.
Sửa lần cuối bởi onlysoft vào ngày T.Năm 03/04/2008 6:59 pm với 1 lần sửa.


:x Tin học là cuộc sống, Lập trình là người yêu, Vợ là computer :x
Tôi yêu tin học, Tin học lập trình, Để lập trình tôi dùng VB, Tôi là B-)nly

Hình đại diện của người dùng
onlysoft
Thành viên tâm huyết
Thành viên tâm huyết
Bài viết: 330
Ngày tham gia: T.Tư 26/03/2008 6:32 pm
Đến từ: ONLYSOFT
Been thanked: 8 time

Re: Sử dụng Rich Text Box bằng chương trình giả lập Wordpad

Gửi bàigửi bởi onlysoft » T.Hai 31/03/2008 7:23 pm

I - Thiết kế giao diện :
Chương trình gồm có 5 Form : FrmMain, FrmInsHR, FrmEdit, FrmAdvandOption, FrmAbout chức năng từng form như sau :
- FrmMain : Form chính
- FrmEdit : Form biên tập chuổi (Tìm kiếm, thay thế, định giạng lề)
- FrmInsHR : Form chèn đường kẻ
- FrmAdvandOption : Form tùy chọn nâng cao
- FrmAbout : From bản quyền
1 - FrmMain (Form chính) : Là Form mà các bạn sẻ thao tác trên nó nhiều nhất, gồm có các Control chính sau : 1 MenuStrip, 3 ToolSrip, 1 SatusStrip và 1 RichTextBox thứ tự như sau :
- MnuSMain : Menu chính
- ToolSStandar : Thanh công cụ chuẩn
- ToolSFormatting : Thanh công cụ định giạng
- ToolSInsert : Thanh công cụ chèn
- SttSStatus : Thanh trạng thái chính
- RtfMain : RichTextbox chính
Còn các Form khác và các điều kiểm con thì các bạn chạy thử chương trình và tự tạo nhé ! :Dnly chỉ giới thiệu sơ qua về Form chính thôi.
Sửa lần cuối bởi onlysoft vào ngày T.Năm 03/04/2008 7:01 pm với 1 lần sửa.
:x Tin học là cuộc sống, Lập trình là người yêu, Vợ là computer :x
Tôi yêu tin học, Tin học lập trình, Để lập trình tôi dùng VB, Tôi là B-)nly

Hình đại diện của người dùng
onlysoft
Thành viên tâm huyết
Thành viên tâm huyết
Bài viết: 330
Ngày tham gia: T.Tư 26/03/2008 6:32 pm
Đến từ: ONLYSOFT
Been thanked: 8 time

II - Viết mã :

Gửi bàigửi bởi onlysoft » T.Hai 31/03/2008 7:27 pm

II - Viết mã :
1 - Cho Form chính (FrmMain) :
Đầu tiên chúng ta sẻ khai báo các biến cần thiết :

Mã: Chọn hết

  1. Public Class FrmMain
  2.     'KHAI BÁO BIẾN TOÀN CỤC
  3.     Dim BolChanged As Boolean 'Biến nhận biết sự thay đổi
  4.     Dim StrFileSave As String 'Biến nhận đường dẩn file lưu
  5.     'Hằng string nhận đường dẩn ClipArt của Office
  6.     Const StrOfficeClipArtPath = "C:\Program Files\Microsoft Office\OFFICE11\MSTORE.EXE"
  7. End Class
  8.  
:x Tin học là cuộc sống, Lập trình là người yêu, Vợ là computer :x
Tôi yêu tin học, Tin học lập trình, Để lập trình tôi dùng VB, Tôi là B-)nly

Hình đại diện của người dùng
onlysoft
Thành viên tâm huyết
Thành viên tâm huyết
Bài viết: 330
Ngày tham gia: T.Tư 26/03/2008 6:32 pm
Đến từ: ONLYSOFT
Been thanked: 8 time

Viết mả

Gửi bàigửi bởi onlysoft » T.Hai 31/03/2008 7:29 pm

Tiếp theo đến các hàm cần thiết : chương trình có 18 hàm chính như sau :

Mã: Chọn hết

  1. 'CÁC HÀM CẦN THIẾT
  2.     'Các hàm chính New, Open, Save
  3.     Private Sub NewDocument()
  4.         If BolChanged = True Then
  5.             If (MessageBox.Show("Bạn có muốn lưu tài liệu vừa sữa lại không ?", "New Document", MessageBoxButtons.YesNo, MessageBoxIcon.Question)) = Windows.Forms.DialogResult.Yes Then
  6.                 SaveDocument()
  7.                 RtfMain.Text = ""
  8.             Else
  9.                 RtfMain.Text = ""
  10.             End If
  11.         End If
  12.     End Sub
  13.     Private Sub OpenDocument()
  14.         'Tùy chỉnh giai thoại
  15.         With DlgOpen
  16.             .Filter = "Rich Text Format(*.rtf)|*.rtf|All Files(*.*)|*.*"
  17.             .ShowDialog()
  18.             If .FileName <> "" Then
  19.                 If Strings.LCase(Strings.Right(.FileName, 4)) = ".rtf" Then
  20.                     RtfMain.LoadFile(.FileName)
  21.                 Else
  22.                     RtfMain.Text = My.Computer.FileSystem.ReadAllText(.FileName)
  23.                 End If
  24.                 StrFileSave = .FileName
  25.             End If
  26.         End With
  27.     End Sub
  28.     Private Sub SaveDocument()
  29.         If StrFileSave = "" Then
  30.             'Tùy chỉnh giai thoại
  31.             With DlgSave
  32.                 .Filter = "Rich Text Format(*.rtf)|*.rtf|All Files(*.*)|*.*"
  33.                 .ShowDialog()
  34.                 If .FileName <> "" Then
  35.                     If Strings.LCase(Strings.Right(.FileName, 4)) = ".rtf" Then
  36.                         RtfMain.SaveFile(.FileName)
  37.                     Else
  38.                         My.Computer.FileSystem.WriteAllText(.FileName, RtfMain.Text, False)
  39.                     End If
  40.                 End If
  41.             End With
  42.         Else
  43.             If Strings.LCase(Strings.Right(StrFileSave, 4)) = ".rtf" Then
  44.                 RtfMain.SaveFile(StrFileSave)
  45.             Else
  46.                 My.Computer.FileSystem.WriteAllText(StrFileSave, RtfMain.Text, False)
  47.             End If
  48.         End If
  49.     End Sub
  50.  
  51.     'Các lệnh hoàn tác
  52.     Private Sub UndoDocument()
  53.         If RtfMain.CanUndo = True Then
  54.             RtfMain.Undo()
  55.             MnuEdtRedo.Enabled = True
  56.             Tool_BttRedo.Enabled = True
  57.         Else
  58.             MnuEdtUndo.Enabled = False
  59.             Tool_BttUndo.Enabled = False
  60.         End If
  61.     End Sub
  62.     Private Sub RedoDocument()
  63.         If RtfMain.CanRedo = True Then
  64.             RtfMain.Redo()
  65.             MnuEdtUndo.Enabled = True
  66.             Tool_BttUndo.Enabled = True
  67.         Else
  68.             MnuEdtRedo.Enabled = False
  69.             Tool_BttRedo.Enabled = False
  70.         End If
  71.     End Sub
  72.  
  73.     'Thay đổi màu chữ đang chọn
  74.     Private Sub ChangeFontColor()
  75.         DlgColor.FullOpen = True
  76.         If DlgColor.ShowDialog = Windows.Forms.DialogResult.OK Then
  77.             RtfMain.SelectionColor = DlgColor.Color
  78.             Tool_BttCurrentFontColor.BackColor = DlgColor.Color
  79.         End If
  80.     End Sub
  81.     'Thay đổi canh lề
  82.     Private Sub ChangeAlignment(ByVal Align As String)
  83.         Select Case Align
  84.             Case "left"
  85.                 RtfMain.SelectionAlignment = HorizontalAlignment.Left
  86.                 MnuForAliLeft.Checked = True
  87.                 MnuForAliCenter.Checked = False
  88.                 MnuForAliRight.Checked = False
  89.                 Tool_BttAliLeft.Checked = True
  90.                 Tool_BttAliCenter.Checked = False
  91.                 Tool_BttAliRight.Checked = False
  92.             Case "center"
  93.                 RtfMain.SelectionAlignment = HorizontalAlignment.Center
  94.                 MnuForAliLeft.Checked = False
  95.                 MnuForAliCenter.Checked = True
  96.                 MnuForAliRight.Checked = False
  97.                 Tool_BttAliLeft.Checked = False
  98.                 Tool_BttAliCenter.Checked = True
  99.                 Tool_BttAliRight.Checked = False
  100.             Case "right"
  101.                 RtfMain.SelectionAlignment = HorizontalAlignment.Right
  102.                 MnuForAliLeft.Checked = False
  103.                 MnuForAliCenter.Checked = False
  104.                 MnuForAliRight.Checked = True
  105.                 Tool_BttAliLeft.Checked = False
  106.                 Tool_BttAliCenter.Checked = False
  107.                 Tool_BttAliRight.Checked = True
  108.         End Select
  109.     End Sub
  110.     'Thay đổi trạng thái kí tự đầu dòng
  111.     Private Sub ChangeBulletStatus(ByVal Status As Boolean)
  112.         RtfMain.SelectionBullet = Status
  113.         If Status = True Then
  114.             MnuForBullet.Checked = True
  115.             Tool_BttBullet.Checked = True
  116.         Else
  117.             MnuForBullet.Checked = False
  118.             Tool_BttBullet.Checked = False
  119.         End If
  120.     End Sub
  121.  
  122.     'Thay đổi tên Font
  123.     Private Sub ChangeFontName(ByVal FontName As String)
  124.         On Error Resume Next
  125.         RtfMain.SelectionFont = New Font(FontName, RtfMain.SelectionFont.Size)
  126.     End Sub
  127.     'Thay đổi Font Size
  128.     Private Sub ChangeFontSize(ByVal FontSize As Single)
  129.         On Error Resume Next
  130.         RtfMain.SelectionFont = New Font(RtfMain.SelectionFont.Name, FontSize)
  131.     End Sub
  132.     'Thay đổi bốn thuộc tính quan trọng đó là Bold, Italic, Underline, Strikeout
  133.     Private Sub ChangeFontBold()
  134.         With RtfMain.SelectionFont
  135.             Dim Style As FontStyle = .Style
  136.             If .Bold Then
  137.                 Style = Style And Not FontStyle.Bold
  138.             Else
  139.                 Style = Style Or FontStyle.Bold
  140.             End If
  141.             RtfMain.SelectionFont = New Font(RtfMain.SelectionFont, Style)
  142.         End With
  143.     End Sub
  144.     Private Sub ChangeFontItalic()
  145.         With RtfMain.SelectionFont
  146.             Dim Style As FontStyle = .Style
  147.             If .Italic Then
  148.                 Style = Style And Not FontStyle.Italic
  149.             Else
  150.                 Style = Style Or FontStyle.Italic
  151.             End If
  152.             RtfMain.SelectionFont = New Font(RtfMain.SelectionFont, Style)
  153.         End With
  154.     End Sub
  155.     Private Sub ChangeFontUnderline()
  156.         With RtfMain.SelectionFont
  157.             Dim Style As FontStyle = .Style
  158.             If .Underline Then
  159.                 Style = Style And Not FontStyle.Underline
  160.             Else
  161.                 Style = Style Or FontStyle.Underline
  162.             End If
  163.             RtfMain.SelectionFont = New Font(RtfMain.SelectionFont, Style)
  164.         End With
  165.     End Sub
  166.     Private Sub ChangeFontStrikeout()
  167.         With RtfMain.SelectionFont
  168.             Dim Style As FontStyle = .Style
  169.             If .Strikeout Then
  170.                 Style = Style And Not FontStyle.Strikeout
  171.             Else
  172.                 Style = Style Or FontStyle.Strikeout
  173.             End If
  174.             RtfMain.SelectionFont = New Font(RtfMain.SelectionFont, Style)
  175.         End With
  176.     End Sub
  177.  
  178.     'Các hàm chèn
  179.     Private Sub InsertImagefromFile()
  180.         'Tùy chỉnh giai thoại
  181.         With DlgOpen
  182.             .Filter = "All Picture Files()|*.bmp;*.png;*.jpg;*.ipeg;*.jpe;*.gif"
  183.             .ShowDialog()
  184.             If .FileName <> "" Then
  185.                 Clipboard.SetImage(Drawing.Bitmap.FromFile(.FileName))
  186.                 RtfMain.Paste()
  187.                 Clipboard.Clear()
  188.             End If
  189.         End With
  190.     End Sub
  191.     'Các hàm phụ
  192.     'Thay đổi thanh trạng thái
  193.     Private Sub SetStatus()
  194.         'Thay đổi thanh trạng thái
  195.         Stt_LblRow.Text = "Dòng thứ : " & RtfMain.GetLineFromCharIndex(RtfMain.SelectionStart) + 1 & " \ " & RtfMain.GetLineFromCharIndex(Strings.Len(RtfMain.Text)) + 1
  196.         Stt_lblCount.Text = "Từ thứ : " & RtfMain.SelectionStart & " \ " & Strings.Len(RtfMain.Text)
  197.         Stt_LblLenght.Text = "Số từ : " & RtfMain.Text.Length & " \ " & RtfMain.MaxLength
  198.     End Sub
  199.     'Cài đặt Font Size
  200.     Private Sub InstallFontSize()
  201.         Dim I As Integer
  202.         With Tool_CboFontSize
  203.             For I = 8 To 100 Step 2
  204.                 .Items.Add(I)
  205.             Next
  206.             .SelectedIndex = 0
  207.         End With
  208.     End Sub
  209.     'Tạo danh sách font
  210.     Private Sub InstallFontList()
  211.         Dim ObjFontItem As FontFamily
  212.         For Each ObjFontItem In FontFamily.Families
  213.             Tool_CboFontName.Items.Add(ObjFontItem.Name)
  214.         Next
  215.         Tool_CboFontName.SelectedIndex = 0
  216.     End Sub
  217.  
:x Tin học là cuộc sống, Lập trình là người yêu, Vợ là computer :x
Tôi yêu tin học, Tin học lập trình, Để lập trình tôi dùng VB, Tôi là B-)nly

Hình đại diện của người dùng
onlysoft
Thành viên tâm huyết
Thành viên tâm huyết
Bài viết: 330
Ngày tham gia: T.Tư 26/03/2008 6:32 pm
Đến từ: ONLYSOFT
Been thanked: 8 time

Viết mả

Gửi bàigửi bởi onlysoft » T.Hai 31/03/2008 7:31 pm

Và cuối cùng là xữ lý sự kiện :

Mã: Chọn hết

  1. 'SỮ LÝ CÁC SỰ KIỆN
  2.     '4 Hàm chính New, Open, Save, Save As
  3.     Private Sub MnuFleNew_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuFleNew.Click
  4.         NewDocument()
  5.     End Sub
  6.     Private Sub MnuFleOpen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuFleOpen.Click
  7.         OpenDocument()
  8.     End Sub
  9.     Private Sub MnuFleSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuFleSave.Click
  10.         SaveDocument()
  11.     End Sub
  12.     'Hàm Save As
  13.     Private Sub MnuFleSaveAs_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuFleSaveAs.Click
  14.         StrFileSave = ""
  15.         SaveDocument()
  16.     End Sub
  17.  
  18.     'Các lệnh biên tập
  19.     Private Sub MnuEdtCut_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuEdtCut.Click
  20.         RtfMain.Cut()
  21.     End Sub
  22.     Private Sub MnuEdtCopy_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuEdtCopy.Click
  23.         RtfMain.Copy()
  24.     End Sub
  25.     Private Sub MnuEdtPaste_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuEdtPaste.Click
  26.         RtfMain.Paste()
  27.     End Sub
  28.     Private Sub MnuEdtDelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuEdtDelete.Click
  29.         RtfMain.Cut()
  30.         Clipboard.Clear()
  31.     End Sub
  32.     Private Sub MnuEdtSelectAll_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuEdtSelectAll.Click
  33.         RtfMain.SelectAll()
  34.     End Sub
  35.  
  36.     'Các lệnh tìm kiếm thay thế
  37.     Private Sub MnuEdtFind_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuEdtFind.Click
  38.         On Error Resume Next
  39.         If RtfMain.Text <> "" Then
  40.             With FrmEdit
  41.                 .TabSMain.SelectedIndex = 0
  42.                 .CancelButton = .BttFndCancel
  43.                 .ShowDialog()
  44.             End With
  45.         End If
  46.     End Sub
  47.     Private Sub MnuEdtReplace_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuEdtReplace.Click
  48.         On Error Resume Next
  49.         If RtfMain.Text <> "" Then
  50.             With FrmEdit
  51.                 .TabSMain.SelectedIndex = 1
  52.                 .CancelButton = .BttRepCancel
  53.                 .ShowDialog()
  54.             End With
  55.         End If
  56.     End Sub
  57.  
  58.     'Hai lệnh Undo và Redo
  59.     Private Sub MnuEdtUndo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuEdtUndo.Click
  60.         UndoDocument()
  61.     End Sub
  62.     Private Sub MnuEdtRedo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuEdtRedo.Click
  63.         RedoDocument()
  64.     End Sub
  65.     'Xữ lý khi thay đổi vùng text được chọn trong Rich Text Box
  66.     Private Sub RtfMain_SelectionChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles RtfMain.SelectionChanged
  67.         On Error Resume Next
  68.         'Thay đổi Font
  69.         With RtfMain.SelectionFont
  70.             'Font Name & Size
  71.             Tool_CboFontName.Text = .Name.ToString
  72.             Tool_CboFontSize.Text = .Size.ToString
  73.             'Font style
  74.             MnuForBold.Checked = .Bold
  75.             Tool_BttBold.Checked = .Bold
  76.             MnuForItalic.Checked = .Italic
  77.             Tool_BttItalic.Checked = .Italic
  78.             MnuForUnderline.Checked = .Underline
  79.             Tool_BttUnderline.Checked = .Underline
  80.             MnuForStrikeout.Checked = .Strikeout
  81.             'Font Color
  82.             Tool_BttCurrentFontColor.BackColor = RtfMain.SelectionColor
  83.         End With
  84.         With RtfMain
  85.             MnuForBullet.Checked = .SelectionBullet
  86.             Tool_BttBullet.Checked = .SelectionBullet
  87.  
  88.             Select Case .SelectionAlignment
  89.                 Case HorizontalAlignment.Left
  90.                     ChangeAlignment("left")
  91.                 Case HorizontalAlignment.Center
  92.                     ChangeAlignment("center")
  93.                 Case HorizontalAlignment.Right
  94.                     ChangeAlignment("right")
  95.             End Select
  96.         End With
  97.     End Sub
  98.  
  99.     'Lệnh thay đổi trạng thái khi thay đổi tài liệu
  100.     Private Sub RtfMain_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RtfMain.TextChanged
  101.         'Thay đổi giá trị cho biến
  102.         BolChanged = True
  103.         'Thay đổi trạng thái menu
  104.         MnuEdtUndo.Enabled = True
  105.         Tool_BttUndo.Enabled = True
  106.         'Thay đổi thanh trạng thái
  107.         SetStatus()
  108.     End Sub
  109.     Private Sub RtfMain_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles RtfMain.KeyDown
  110.         SetStatus()
  111.     End Sub
  112.     Private Sub RtfMain_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles RtfMain.MouseDown
  113.         SetStatus()
  114.     End Sub
  115.  
  116.     'Khối lệnh xem các thanh công cụ
  117.     Private Sub MnuViwStatusbar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuViwStatusbar.Click
  118.         SttSStatus.Visible = MnuViwStatusbar.Checked
  119.     End Sub
  120.     Private Sub MnuViwToolFormat_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuViwToolFormat.Click
  121.         ToolSFormatting.Visible = MnuViwToolFormat.Checked
  122.     End Sub
  123.     Private Sub MniViwToolStandar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MniViwToolStandar.Click
  124.         ToolSStandar.Visible = MniViwToolStandar.Checked
  125.     End Sub
  126.     Private Sub MnuViwToolInsert_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuViwToolInsert.Click
  127.         ToolSInsert.Visible = MnuViwToolInsert.Checked
  128.     End Sub
  129.  
  130.     'Khi đóng form
  131.     Private Sub FrmMain_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
  132.         'Thông báo lưu lại khi thoát
  133.         If BolChanged = True Then
  134.             If (MessageBox.Show("Bạn có muốn lưu tài liệu vừa sữa lại không ?", "Save Document", MessageBoxButtons.YesNo, MessageBoxIcon.Question)) = Windows.Forms.DialogResult.Yes Then
  135.                 SaveDocument()
  136.             End If
  137.         End If
  138.         End
  139.     End Sub
  140.  
  141.     'Khi load form
  142.     Private Sub FrmMain_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
  143.         'Định trị cho biến
  144.         BolChanged = False
  145.         'Sự kiện ban đầu
  146.         SetStatus()
  147.         'Thêm bớt menu
  148.         If (My.Computer.FileSystem.FileExists(StrOfficeClipArtPath)) = True Then
  149.             MnuInsPicfromOfficeClipArt.Visible = True
  150.             Tool_BttInsImgfromClipArt.Visible = True
  151.         Else
  152.             MnuInsPicfromOfficeClipArt.Visible = False
  153.             Tool_BttInsImgfromClipArt.Visible = False
  154.         End If
  155.         'Thêm các thành phần khác
  156.         InstallFontSize()
  157.         InstallFontList()
  158.     End Sub
  159.  
  160.     'Menu Exit
  161.     Private Sub MnuFleExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuFleExit.Click
  162.         'Thông báo lưu lại khi thoát
  163.         If BolChanged = True Then
  164.             If (MessageBox.Show("Bạn có muốn lưu tài liệu vừa sữa lại không ?", "Save Document", MessageBoxButtons.YesNo, MessageBoxIcon.Question)) = Windows.Forms.DialogResult.Yes Then
  165.                 SaveDocument()
  166.             End If
  167.         End If
  168.         End
  169.     End Sub
  170.  
  171.     'Định giạng đổ giòng
  172.     Private Sub MnuForWordWrap_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuForWordWrap.Click
  173.         RtfMain.WordWrap = MnuForWordWrap.Checked
  174.     End Sub
  175.  
  176.     'Các sự kiện chèn
  177.     'Ngày giờ
  178.     Private Sub MnuInsDateandTime_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuInsDateandTime.Click
  179.         Clipboard.SetText(Now.ToString)
  180.         RtfMain.Paste()
  181.         Clipboard.Clear()
  182.     End Sub
  183.     'Chàn ảnh từ tệp
  184.     Private Sub MnuInsPicfromFile_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuInsPicfromFile.Click
  185.         InsertImagefromFile()
  186.     End Sub
  187.     'Chèn ảnh từ Office ClipArt
  188.     Private Sub MnuInsPicfromOfficeClipArt_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuInsPicfromOfficeClipArt.Click
  189.         On Error Resume Next
  190.         'Gọi Office Clip Art
  191.         Shell(StrOfficeClipArtPath, AppWinStyle.NormalFocus)
  192.     End Sub
  193.     'Chèn ký tự đặt biệt
  194.     Private Sub MnuInsSymboy_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuInsSymboy.Click
  195.         On Error Resume Next
  196.         Shell("charmap", AppWinStyle.NormalFocus)
  197.     End Sub
  198.  
  199.     'HELP
  200.     Private Sub MnuHlpAbout_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuHlpAbout.Click
  201.         FrmAbout.ShowDialog()
  202.     End Sub
  203.  
  204.     Private Sub TmrClipboard_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TmrClipboard.Tick
  205.         If Clipboard.ContainsText = True Or Clipboard.ContainsImage = True Or Clipboard.ContainsFileDropList = True Then
  206.             MnuEdtPaste.Enabled = True
  207.             Tool_BttPaste.Enabled = True
  208.         Else
  209.             MnuEdtPaste.Enabled = False
  210.             Tool_BttPaste.Enabled = False
  211.         End If
  212.     End Sub
  213.  
  214.     'Tùy chọn nâng cao
  215.     Private Sub MnuForAdvandOption_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuForAdvandOption.Click
  216.         FrmAdvandOption.ShowDialog()
  217.     End Sub
  218.  
  219.     'Thay đổi màu
  220.     Private Sub MnuForFontColor_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuForFontColor.Click
  221.         ChangeFontColor()
  222.     End Sub
  223.     Private Sub Tool_BttFontColor_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Tool_BttFontColor.Click
  224.         ChangeFontColor()
  225.     End Sub
  226.  
  227.     'Canh lề bằng menu
  228.     Private Sub MnuForAliRight_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuForAliRight.Click
  229.         ChangeAlignment("right")
  230.     End Sub
  231.     Private Sub MnuForAliLeft_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuForAliLeft.Click
  232.         ChangeAlignment("left")
  233.     End Sub
  234.     Private Sub MnuForAliCenter_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuForAliCenter.Click
  235.         ChangeAlignment("center")
  236.     End Sub
  237.     'Bằng thanh công cụ
  238.     Private Sub Tool_BttAliLeft_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Tool_BttAliLeft.Click
  239.         ChangeAlignment("left")
  240.     End Sub
  241.     Private Sub Tool_BttAliCenter_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Tool_BttAliCenter.Click
  242.         ChangeAlignment("center")
  243.     End Sub
  244.     Private Sub Tool_BttAliRight_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Tool_BttAliRight.Click
  245.         ChangeAlignment("right")
  246.     End Sub
  247.  
  248.     'Kí tự đầu dòng
  249.     Private Sub MnuForBullet_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuForBullet.Click
  250.         ChangeBulletStatus(MnuForBullet.Checked)
  251.     End Sub
  252.     Private Sub Tool_BttBullet_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Tool_BttBullet.Click
  253.         ChangeBulletStatus(Tool_BttBullet.Checked)
  254.     End Sub
  255.  
  256.     'Thay đổi các thuộc tính Font
  257.     Private Sub Tool_CboFontName_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Tool_CboFontName.TextChanged
  258.         ChangeFontName(Tool_CboFontName.Text)
  259.     End Sub
  260.     Private Sub Tool_CboFontSize_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Tool_CboFontSize.TextChanged
  261.         ChangeFontSize(Val(Tool_CboFontSize.Text))
  262.     End Sub
  263.  
  264.     'Thay đổi font style
  265.     Private Sub Tool_BttBold_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Tool_BttBold.Click
  266.         ChangeFontBold()
  267.         MnuForBold.Checked = Tool_BttBold.Checked
  268.     End Sub
  269.     Private Sub MnuForBold_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuForBold.Click
  270.         ChangeFontBold()
  271.         Tool_BttBold.Checked = MnuForBold.Checked
  272.     End Sub
  273.     Private Sub MnuForItalic_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuForItalic.Click
  274.         ChangeFontItalic()
  275.         Tool_BttItalic.Checked = MnuForItalic.Checked
  276.     End Sub
  277.     Private Sub Tool_BttItalic_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Tool_BttItalic.Click
  278.         ChangeFontItalic()
  279.         MnuForItalic.Checked = Tool_BttItalic.Checked
  280.     End Sub
  281.     Private Sub MnuForUnderline_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuForUnderline.Click
  282.         ChangeFontUnderline()
  283.         Tool_BttUnderline.Checked = MnuForUnderline.Checked
  284.     End Sub
  285.     Private Sub Tool_BttUnderline_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Tool_BttUnderline.Click
  286.         ChangeFontUnderline()
  287.         MnuForUnderline.Checked = Tool_BttUnderline.Checked
  288.     End Sub
  289.     Private Sub MnuForStrikeout_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuForStrikeout.Click
  290.         ChangeFontStrikeout()
  291.     End Sub
  292.  
  293.     'Lệnh cho thanh standar
  294.     Private Sub Tool_BttNew_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Tool_BttNew.Click
  295.         NewDocument()
  296.     End Sub
  297.     Private Sub Tool_BttOpen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Tool_BttOpen.Click
  298.         OpenDocument()
  299.     End Sub
  300.     Private Sub Tool_BttSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Tool_BttSave.Click
  301.         SaveDocument()
  302.     End Sub
  303.     Private Sub Tool_BttUndo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Tool_BttUndo.Click
  304.         UndoDocument()
  305.     End Sub
  306.     Private Sub Tool_BttRedo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Tool_BttRedo.Click
  307.         RedoDocument()
  308.     End Sub
  309.     Private Sub Tool_BttCut_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Tool_BttCut.Click
  310.         RtfMain.Cut()
  311.     End Sub
  312.     Private Sub Tool_BttCopy_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Tool_BttCopy.Click
  313.         RtfMain.Copy()
  314.     End Sub
  315.     Private Sub Tool_BttPaste_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Tool_BttPaste.Click
  316.         RtfMain.Paste()
  317.     End Sub
  318.     Private Sub Tool_BttFind_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Tool_BttFind.Click
  319.         FrmEdit.ShowDialog()
  320.     End Sub
  321.  
  322.     'Chèn ảnh
  323.     Private Sub Tool_BttInsImgfromClipArt_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Tool_BttInsImgfromClipArt.Click
  324.         On Error Resume Next
  325.         'Gọi Office Clip Art
  326.         Shell(StrOfficeClipArtPath, AppWinStyle.NormalFocus)
  327.     End Sub
  328.     Private Sub Tool_BttInsImgfromFile_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Tool_BttInsImgfromFile.Click
  329.         InsertImagefromFile()
  330.     End Sub
  331.  
  332.     'Chèn kí hiệu
  333.     Private Sub Tool_BttInsSymboy_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Tool_BttInsSymboy.Click
  334.         On Error Resume Next
  335.         Shell("charmap", AppWinStyle.NormalFocus)
  336.     End Sub
  337.  
  338.     'Chèn đường kẻ
  339.     Private Sub MnuInsHorizontalRuler_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuInsHorizontalRuler.Click
  340.         On Error Resume Next
  341.         FrmInsHR.ShowDialog()
  342.     End Sub
  343.  
:x Tin học là cuộc sống, Lập trình là người yêu, Vợ là computer :x
Tôi yêu tin học, Tin học lập trình, Để lập trình tôi dùng VB, Tôi là B-)nly

Hình đại diện của người dùng
onlysoft
Thành viên tâm huyết
Thành viên tâm huyết
Bài viết: 330
Ngày tham gia: T.Tư 26/03/2008 6:32 pm
Đến từ: ONLYSOFT
Been thanked: 8 time

2 - Cho Form biên tập (FrmEdit) :

Gửi bàigửi bởi onlysoft » T.Hai 31/03/2008 7:32 pm

Lệnh cho form như sau :

Mã: Chọn hết

  1. Public Class FrmEdit
  2.     'KHAI BÁO BIẾN TOÀN CỤC
  3.     Dim IntFindLocation As Integer
  4.     'SỰ LÝ SỰ KIỆN
  5.     'Khi nhấn nút Find Next
  6.     Private Sub BttFndFindNext_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BttFndFindNext.Click
  7.         With FrmMain
  8.             'Tìm tiếp
  9.             If IntFindLocation = 0 Then 'Tìm ở vị trí đầu tiên
  10.                 If ChkFndMatchCase.Checked = False Then
  11.                     IntFindLocation = Strings.InStr(.RtfMain.Text, TxtFndFindWhat.Text, CompareMethod.Text)
  12.                 Else
  13.                     IntFindLocation = Strings.InStr(.RtfMain.Text, TxtFndFindWhat.Text, CompareMethod.Binary)
  14.                 End If
  15.             Else 'Các vị trí khác
  16.                 If ChkFndMatchCase.Checked = False Then
  17.                     IntFindLocation = Strings.InStr(IntFindLocation + Strings.Len(TxtFndFindWhat.Text), .RtfMain.Text, TxtFndFindWhat.Text, CompareMethod.Text)
  18.                 Else
  19.                     IntFindLocation = Strings.InStr(IntFindLocation + Strings.Len(TxtFndFindWhat.Text), .RtfMain.Text, TxtFndFindWhat.Text, CompareMethod.Binary)
  20.                 End If
  21.             End If
  22.  
  23.             'Sét điều kiện bôi đen textbox
  24.             If IntFindLocation <> 0 Then
  25.                 .RtfMain.SelectionStart = IntFindLocation - 1
  26.                 .RtfMain.SelectionLength = Strings.Len(TxtFndFindWhat.Text)
  27.             Else
  28.                 MessageBox.Show("Đã tìm hết văn bản", "Find complet", MessageBoxButtons.OK, MessageBoxIcon.Information)
  29.                 IntFindLocation = 0
  30.             End If
  31.         End With
  32.     End Sub
  33.     'Khi load form
  34.     Private Sub FrmEdit_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
  35.         'Thiết lập giá trị cho biến
  36.         IntFindLocation = 0
  37.     End Sub
  38.     'Đếm tổng các từ tìm được
  39.     Private Sub BttFndCount_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BttFndCount.Click
  40.         On Error Resume Next
  41.         Dim IntFind, IntCount As Integer
  42.         IntFind = 1
  43.         With FrmMain
  44.             'Tìm hết
  45.             While IntFind <> 0
  46.                 If ChkFndMatchCase.Checked = False Then
  47.                     IntFind = Strings.InStr(IntFind + Strings.Len(TxtFndFindWhat.Text), .RtfMain.Text, TxtFndFindWhat.Text, CompareMethod.Text)
  48.                 Else
  49.                     IntFind = Strings.InStr(IntFind + Strings.Len(TxtFndFindWhat.Text), .RtfMain.Text, TxtFndFindWhat.Text, CompareMethod.Binary)
  50.                 End If
  51.                 IntCount = IntCount + 1
  52.             End While
  53.             MessageBox.Show("Tổng số từ tìm được : " & IntCount, "Find complet", MessageBoxButtons.OK, MessageBoxIcon.Information)
  54.         End With
  55.     End Sub
  56.     'Khi nút Replace được nhấn
  57.     Private Sub BttRepReplace_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BttRepReplace.Click
  58.         With FrmMain
  59.             If ChkRepMatchCase.Checked = False Then
  60.                 .RtfMain.Text = Strings.Replace(.RtfMain.Text, TxtRepFindWhat.Text, TxtRepReplaceWith.Text, , , CompareMethod.Text)
  61.             Else
  62.                 .RtfMain.Text = Strings.Replace(.RtfMain.Text, TxtRepFindWhat.Text, TxtRepReplaceWith.Text, , , CompareMethod.Binary)
  63.             End If
  64.         End With
  65.     End Sub
  66.     'Xữ lý khi nhấn trên TabMain
  67.     Private Sub TabSMain_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles TabSMain.Click
  68.         'Chuyển cancel button khi chuyển tab
  69.         Select Case TabSMain.SelectedIndex
  70.             Case 0
  71.                 Me.CancelButton = BttFndCancel
  72.             Case 1
  73.                 Me.CancelButton = BttRepCancel
  74.         End Select
  75.     End Sub
  76.  
  77. End Class
  78.  
:x Tin học là cuộc sống, Lập trình là người yêu, Vợ là computer :x
Tôi yêu tin học, Tin học lập trình, Để lập trình tôi dùng VB, Tôi là B-)nly

Hình đại diện của người dùng
onlysoft
Thành viên tâm huyết
Thành viên tâm huyết
Bài viết: 330
Ngày tham gia: T.Tư 26/03/2008 6:32 pm
Đến từ: ONLYSOFT
Been thanked: 8 time

3 - Cho Form chèn đường kẻ (FrmInsHR) :

Gửi bàigửi bởi onlysoft » T.Hai 31/03/2008 7:35 pm

Lệnh cho form như sau :

Mã: Chọn hết

  1. Public Class FrmInsHR
  2.     'Khi nút Insert được nhấn
  3.     Private Sub BttInsert_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BttInsert.Click
  4.         Dim HR As String
  5.         'Dùng hàm Strings.StrDup() để tạo ra các ký tự giống nhau
  6.         HR = Strings.StrDup(CType(Val(MTxtLen.Text), Integer), TxtCharacter.Text)
  7.         'Copy
  8.         Clipboard.SetText(HR)
  9.         'Pate
  10.         FrmMain.RtfMain.Paste()
  11.         'Clear
  12.         Clipboard.Clear()
  13.         Me.Close()
  14.     End Sub
  15. End Class
  16.  
:x Tin học là cuộc sống, Lập trình là người yêu, Vợ là computer :x
Tôi yêu tin học, Tin học lập trình, Để lập trình tôi dùng VB, Tôi là B-)nly

Hình đại diện của người dùng
onlysoft
Thành viên tâm huyết
Thành viên tâm huyết
Bài viết: 330
Ngày tham gia: T.Tư 26/03/2008 6:32 pm
Đến từ: ONLYSOFT
Been thanked: 8 time

4 - Cho Form tùy chọn nâng cao (FrmAdvandOption) :

Gửi bàigửi bởi onlysoft » T.Hai 31/03/2008 7:36 pm

Lệnh cho form như sau :

Mã: Chọn hết

  1. Public Class FrmAdvandOption
  2.     'Khi nút Ok được nhấn
  3.     Private Sub BttOk_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BttOk.Click
  4.         'Xét giá trị cho textbox
  5.         If Val(TxtMaxLenght.Text) > 2147483647 Then
  6.             MessageBox.Show("Bạn đã nhập quá kích thước cho phép.", Me.Text, MessageBoxButtons.OK, MessageBoxIcon.Information)
  7.         Else
  8.             With FrmMain
  9.                 If Val(TxtMaxLenght.Text) < .RtfMain.Text.Length Then
  10.                     MessageBox.Show("Kích thước bạn vừa nhập nhỏ hơn tổng số từ hiện tại.", Me.Text, MessageBoxButtons.OK, MessageBoxIcon.Information)
  11.                 Else
  12.                     .RtfMain.MaxLength = Val(TxtMaxLenght.Text)
  13.                     Me.Close()
  14.                 End If
  15.             End With
  16.         End If
  17.     End Sub
  18. End Class
  19.  
:x Tin học là cuộc sống, Lập trình là người yêu, Vợ là computer :x
Tôi yêu tin học, Tin học lập trình, Để lập trình tôi dùng VB, Tôi là B-)nly

Hình đại diện của người dùng
onlysoft
Thành viên tâm huyết
Thành viên tâm huyết
Bài viết: 330
Ngày tham gia: T.Tư 26/03/2008 6:32 pm
Đến từ: ONLYSOFT
Been thanked: 8 time

Bài viết đến đây là hết

Gửi bàigửi bởi onlysoft » T.Hai 31/03/2008 7:41 pm

Bài hướng dẩn đến đây là hết, :(( nly đã cố gắng làm sạch mã và trình bày đẹp mắt, hy vọng các bạn sẻ thích chủ đề này, nếu các bạn lười đọc thì down bài viết về nha.
Wordpad.rar
Bài hướn dẩn
(91.06 KiB) Đã tải 1520 lần

Hãy chờ đến bài tiếp theo nhé "Hướng dẩn sữ dụng Web Browser control bằng chương trình giã lập Internet Explorer". Mọi người đọc và cho :) nly ý kiến để cho bài viết sau được hoàn thiện hơn.
:x Tin học là cuộc sống, Lập trình là người yêu, Vợ là computer :x
Tôi yêu tin học, Tin học lập trình, Để lập trình tôi dùng VB, Tôi là B-)nly

duyluandethuong
Thành viên chính thức
Thành viên chính thức
Bài viết: 21
Ngày tham gia: T.Tư 26/03/2008 10:29 pm
Been thanked: 1 time

Re: Sử dụng Rich Text Box bằng chương trình giả lập Wordpad

Gửi bàigửi bởi duyluandethuong » T.Bảy 17/05/2008 9:39 pm

Bài viết hay lắm bạn ơi. Mình ủng hộ bạn hết mình. ^^

Hình đại diện của người dùng
clarkkent
Mạnh Thường Quân
Mạnh Thường Quân
Bài viết: 1641
Ngày tham gia: T.Tư 16/04/2008 11:25 am
Đến từ: Chợ Lách - Bến Tre
Been thanked: 31 time
Liên hệ:

Re: Sử dụng Rich Text Box bằng chương trình giả lập Wordpad

Gửi bàigửi bởi clarkkent » T.Hai 19/05/2008 2:46 pm

Bài viết thì hay nhưng mà nhìn Only viết sai chính tả... nhịn cười không được... :D :D :D
• Hôm bây: www.tinsoftware.com ^ ^
Cố gắng lên...

vinhquyen
Bài viết: 4
Ngày tham gia: CN 28/11/2010 10:31 am

Re: Sử dụng Rich Text Box bằng chương trình giả lập Wordpad

Gửi bàigửi bởi vinhquyen » CN 20/03/2011 1:09 am

Cảm ơn bạn nhiều,mình sẽ chuyển qua code c# hi.Bạn trình bày rõ ràng.....:x


Quay về “[.NET] Bài viết hướng dẫn”

Đang trực tuyến

Đang xem chuyên mục này: Không có thành viên nào trực tuyến.0 khách