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#

Các điều hành viên: tungcan5diop, QUANITGROBEST

Đăng trả lời
Hình đại diện của thành viên
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: Thứ 4 26/03/2008 6:32 pm
Đến từ: ONLYSOFT
Been thanked: 8 times

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

Gửi bài by onlysoft »

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 1 vào ngày onlysoft với 0 lần sửa trong tổng số.
: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 thành viên
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: Thứ 4 26/03/2008 6:32 pm
Đến từ: ONLYSOFT
Been thanked: 8 times

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

Gửi bài by onlysoft »

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 1 vào ngày onlysoft với 0 lần sửa trong tổng số.
: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 thành viên
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: Thứ 4 26/03/2008 6:32 pm
Đến từ: ONLYSOFT
Been thanked: 8 times

II - Viết mã :

Gửi bài by onlysoft »

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 tất cả

Public Class FrmMain    'KHAI BÁO BIẾN TOÀN CỤC    Dim BolChanged As Boolean 'Biến nhận biết sự thay đổi    Dim StrFileSave As String 'Biến nhận đường dẩn file lưu    'Hằng string nhận đường dẩn ClipArt của Office    Const StrOfficeClipArtPath = "C:\Program Files\Microsoft Office\OFFICE11\MSTORE.EXE"End Class 
: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 thành viên
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: Thứ 4 26/03/2008 6:32 pm
Đến từ: ONLYSOFT
Been thanked: 8 times

Viết mả

Gửi bài by onlysoft »

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 tất cả

'CÁC HÀM CẦN THIẾT    'Các hàm chính New, Open, Save    Private Sub NewDocument()        If BolChanged = True Then            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                SaveDocument()                RtfMain.Text = ""            Else                RtfMain.Text = ""            End If        End If    End Sub    Private Sub OpenDocument()        'Tùy chỉnh giai thoại        With DlgOpen            .Filter = "Rich Text Format(*.rtf)|*.rtf|All Files(*.*)|*.*"            .ShowDialog()            If .FileName <> "" Then                If Strings.LCase(Strings.Right(.FileName, 4)) = ".rtf" Then                    RtfMain.LoadFile(.FileName)                Else                    RtfMain.Text = My.Computer.FileSystem.ReadAllText(.FileName)                End If                StrFileSave = .FileName            End If        End With    End Sub    Private Sub SaveDocument()        If StrFileSave = "" Then            'Tùy chỉnh giai thoại            With DlgSave                .Filter = "Rich Text Format(*.rtf)|*.rtf|All Files(*.*)|*.*"                .ShowDialog()                If .FileName <> "" Then                    If Strings.LCase(Strings.Right(.FileName, 4)) = ".rtf" Then                        RtfMain.SaveFile(.FileName)                    Else                        My.Computer.FileSystem.WriteAllText(.FileName, RtfMain.Text, False)                    End If                End If            End With        Else            If Strings.LCase(Strings.Right(StrFileSave, 4)) = ".rtf" Then                RtfMain.SaveFile(StrFileSave)            Else                My.Computer.FileSystem.WriteAllText(StrFileSave, RtfMain.Text, False)            End If        End If    End Sub     'Các lệnh hoàn tác    Private Sub UndoDocument()        If RtfMain.CanUndo = True Then            RtfMain.Undo()            MnuEdtRedo.Enabled = True            Tool_BttRedo.Enabled = True        Else            MnuEdtUndo.Enabled = False            Tool_BttUndo.Enabled = False        End If    End Sub    Private Sub RedoDocument()        If RtfMain.CanRedo = True Then            RtfMain.Redo()            MnuEdtUndo.Enabled = True            Tool_BttUndo.Enabled = True        Else            MnuEdtRedo.Enabled = False            Tool_BttRedo.Enabled = False        End If    End Sub     'Thay đổi màu chữ đang chọn    Private Sub ChangeFontColor()        DlgColor.FullOpen = True        If DlgColor.ShowDialog = Windows.Forms.DialogResult.OK Then            RtfMain.SelectionColor = DlgColor.Color            Tool_BttCurrentFontColor.BackColor = DlgColor.Color        End If    End Sub    'Thay đổi canh lề    Private Sub ChangeAlignment(ByVal Align As String)        Select Case Align            Case "left"                RtfMain.SelectionAlignment = HorizontalAlignment.Left                MnuForAliLeft.Checked = True                MnuForAliCenter.Checked = False                MnuForAliRight.Checked = False                Tool_BttAliLeft.Checked = True                Tool_BttAliCenter.Checked = False                Tool_BttAliRight.Checked = False            Case "center"                RtfMain.SelectionAlignment = HorizontalAlignment.Center                MnuForAliLeft.Checked = False                MnuForAliCenter.Checked = True                MnuForAliRight.Checked = False                Tool_BttAliLeft.Checked = False                Tool_BttAliCenter.Checked = True                Tool_BttAliRight.Checked = False            Case "right"                RtfMain.SelectionAlignment = HorizontalAlignment.Right                MnuForAliLeft.Checked = False                MnuForAliCenter.Checked = False                MnuForAliRight.Checked = True                Tool_BttAliLeft.Checked = False                Tool_BttAliCenter.Checked = False                Tool_BttAliRight.Checked = True        End Select    End Sub    'Thay đổi trạng thái kí tự đầu dòng    Private Sub ChangeBulletStatus(ByVal Status As Boolean)        RtfMain.SelectionBullet = Status        If Status = True Then            MnuForBullet.Checked = True            Tool_BttBullet.Checked = True        Else            MnuForBullet.Checked = False            Tool_BttBullet.Checked = False        End If    End Sub     'Thay đổi tên Font    Private Sub ChangeFontName(ByVal FontName As String)        On Error Resume Next        RtfMain.SelectionFont = New Font(FontName, RtfMain.SelectionFont.Size)    End Sub    'Thay đổi Font Size    Private Sub ChangeFontSize(ByVal FontSize As Single)        On Error Resume Next        RtfMain.SelectionFont = New Font(RtfMain.SelectionFont.Name, FontSize)    End Sub    'Thay đổi bốn thuộc tính quan trọng đó là Bold, Italic, Underline, Strikeout    Private Sub ChangeFontBold()        With RtfMain.SelectionFont            Dim Style As FontStyle = .Style            If .Bold Then                Style = Style And Not FontStyle.Bold            Else                Style = Style Or FontStyle.Bold            End If            RtfMain.SelectionFont = New Font(RtfMain.SelectionFont, Style)        End With    End Sub    Private Sub ChangeFontItalic()        With RtfMain.SelectionFont            Dim Style As FontStyle = .Style            If .Italic Then                Style = Style And Not FontStyle.Italic            Else                Style = Style Or FontStyle.Italic            End If            RtfMain.SelectionFont = New Font(RtfMain.SelectionFont, Style)        End With    End Sub    Private Sub ChangeFontUnderline()        With RtfMain.SelectionFont            Dim Style As FontStyle = .Style            If .Underline Then                Style = Style And Not FontStyle.Underline            Else                Style = Style Or FontStyle.Underline            End If            RtfMain.SelectionFont = New Font(RtfMain.SelectionFont, Style)        End With    End Sub    Private Sub ChangeFontStrikeout()        With RtfMain.SelectionFont            Dim Style As FontStyle = .Style            If .Strikeout Then                Style = Style And Not FontStyle.Strikeout            Else                Style = Style Or FontStyle.Strikeout            End If            RtfMain.SelectionFont = New Font(RtfMain.SelectionFont, Style)        End With    End Sub     'Các hàm chèn    Private Sub InsertImagefromFile()        'Tùy chỉnh giai thoại        With DlgOpen            .Filter = "All Picture Files()|*.bmp;*.png;*.jpg;*.ipeg;*.jpe;*.gif"            .ShowDialog()            If .FileName <> "" Then                Clipboard.SetImage(Drawing.Bitmap.FromFile(.FileName))                RtfMain.Paste()                Clipboard.Clear()            End If        End With    End Sub    'Các hàm phụ    'Thay đổi thanh trạng thái    Private Sub SetStatus()        'Thay đổi thanh trạng thái        Stt_LblRow.Text = "Dòng thứ : " & RtfMain.GetLineFromCharIndex(RtfMain.SelectionStart) + 1 & " \ " & RtfMain.GetLineFromCharIndex(Strings.Len(RtfMain.Text)) + 1        Stt_lblCount.Text = "Từ thứ : " & RtfMain.SelectionStart & " \ " & Strings.Len(RtfMain.Text)        Stt_LblLenght.Text = "Số từ : " & RtfMain.Text.Length & " \ " & RtfMain.MaxLength    End Sub    'Cài đặt Font Size    Private Sub InstallFontSize()        Dim I As Integer        With Tool_CboFontSize            For I = 8 To 100 Step 2                .Items.Add(I)            Next            .SelectedIndex = 0        End With    End Sub    'Tạo danh sách font    Private Sub InstallFontList()        Dim ObjFontItem As FontFamily        For Each ObjFontItem In FontFamily.Families            Tool_CboFontName.Items.Add(ObjFontItem.Name)        Next        Tool_CboFontName.SelectedIndex = 0    End Sub 
: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 thành viên
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: Thứ 4 26/03/2008 6:32 pm
Đến từ: ONLYSOFT
Been thanked: 8 times

Viết mả

Gửi bài by onlysoft »

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

Mã: Chọn tất cả

'SỮ LÝ CÁC SỰ KIỆN    '4 Hàm chính New, Open, Save, Save As    Private Sub MnuFleNew_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuFleNew.Click        NewDocument()    End Sub    Private Sub MnuFleOpen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuFleOpen.Click        OpenDocument()    End Sub    Private Sub MnuFleSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuFleSave.Click        SaveDocument()    End Sub    'Hàm Save As    Private Sub MnuFleSaveAs_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuFleSaveAs.Click        StrFileSave = ""        SaveDocument()    End Sub     'Các lệnh biên tập    Private Sub MnuEdtCut_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuEdtCut.Click        RtfMain.Cut()    End Sub    Private Sub MnuEdtCopy_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuEdtCopy.Click        RtfMain.Copy()    End Sub    Private Sub MnuEdtPaste_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuEdtPaste.Click        RtfMain.Paste()    End Sub    Private Sub MnuEdtDelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuEdtDelete.Click        RtfMain.Cut()        Clipboard.Clear()    End Sub    Private Sub MnuEdtSelectAll_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuEdtSelectAll.Click        RtfMain.SelectAll()    End Sub     'Các lệnh tìm kiếm thay thế    Private Sub MnuEdtFind_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuEdtFind.Click        On Error Resume Next        If RtfMain.Text <> "" Then            With FrmEdit                .TabSMain.SelectedIndex = 0                .CancelButton = .BttFndCancel                .ShowDialog()            End With        End If    End Sub    Private Sub MnuEdtReplace_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuEdtReplace.Click        On Error Resume Next        If RtfMain.Text <> "" Then            With FrmEdit                .TabSMain.SelectedIndex = 1                .CancelButton = .BttRepCancel                .ShowDialog()            End With        End If    End Sub     'Hai lệnh Undo và Redo    Private Sub MnuEdtUndo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuEdtUndo.Click        UndoDocument()    End Sub    Private Sub MnuEdtRedo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuEdtRedo.Click        RedoDocument()    End Sub    'Xữ lý khi thay đổi vùng text được chọn trong Rich Text Box    Private Sub RtfMain_SelectionChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles RtfMain.SelectionChanged        On Error Resume Next        'Thay đổi Font        With RtfMain.SelectionFont            'Font Name & Size            Tool_CboFontName.Text = .Name.ToString            Tool_CboFontSize.Text = .Size.ToString            'Font style            MnuForBold.Checked = .Bold            Tool_BttBold.Checked = .Bold            MnuForItalic.Checked = .Italic            Tool_BttItalic.Checked = .Italic            MnuForUnderline.Checked = .Underline            Tool_BttUnderline.Checked = .Underline            MnuForStrikeout.Checked = .Strikeout            'Font Color            Tool_BttCurrentFontColor.BackColor = RtfMain.SelectionColor        End With        With RtfMain            MnuForBullet.Checked = .SelectionBullet            Tool_BttBullet.Checked = .SelectionBullet             Select Case .SelectionAlignment                Case HorizontalAlignment.Left                    ChangeAlignment("left")                Case HorizontalAlignment.Center                    ChangeAlignment("center")                Case HorizontalAlignment.Right                    ChangeAlignment("right")            End Select        End With    End Sub     'Lệnh thay đổi trạng thái khi thay đổi tài liệu    Private Sub RtfMain_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RtfMain.TextChanged        'Thay đổi giá trị cho biến        BolChanged = True        'Thay đổi trạng thái menu        MnuEdtUndo.Enabled = True        Tool_BttUndo.Enabled = True        'Thay đổi thanh trạng thái        SetStatus()    End Sub    Private Sub RtfMain_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles RtfMain.KeyDown        SetStatus()    End Sub    Private Sub RtfMain_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles RtfMain.MouseDown        SetStatus()    End Sub     'Khối lệnh xem các thanh công cụ    Private Sub MnuViwStatusbar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuViwStatusbar.Click        SttSStatus.Visible = MnuViwStatusbar.Checked    End Sub    Private Sub MnuViwToolFormat_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuViwToolFormat.Click        ToolSFormatting.Visible = MnuViwToolFormat.Checked    End Sub    Private Sub MniViwToolStandar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MniViwToolStandar.Click        ToolSStandar.Visible = MniViwToolStandar.Checked    End Sub    Private Sub MnuViwToolInsert_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuViwToolInsert.Click        ToolSInsert.Visible = MnuViwToolInsert.Checked    End Sub     'Khi đóng form    Private Sub FrmMain_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing        'Thông báo lưu lại khi thoát        If BolChanged = True Then            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                SaveDocument()            End If        End If        End    End Sub     'Khi load form    Private Sub FrmMain_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load        'Định trị cho biến        BolChanged = False        'Sự kiện ban đầu        SetStatus()        'Thêm bớt menu        If (My.Computer.FileSystem.FileExists(StrOfficeClipArtPath)) = True Then            MnuInsPicfromOfficeClipArt.Visible = True            Tool_BttInsImgfromClipArt.Visible = True        Else            MnuInsPicfromOfficeClipArt.Visible = False            Tool_BttInsImgfromClipArt.Visible = False        End If        'Thêm các thành phần khác        InstallFontSize()        InstallFontList()    End Sub     'Menu Exit    Private Sub MnuFleExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuFleExit.Click        'Thông báo lưu lại khi thoát        If BolChanged = True Then            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                SaveDocument()            End If        End If        End    End Sub     'Định giạng đổ giòng    Private Sub MnuForWordWrap_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuForWordWrap.Click        RtfMain.WordWrap = MnuForWordWrap.Checked    End Sub     'Các sự kiện chèn    'Ngày giờ    Private Sub MnuInsDateandTime_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuInsDateandTime.Click        Clipboard.SetText(Now.ToString)        RtfMain.Paste()        Clipboard.Clear()    End Sub    'Chàn ảnh từ tệp    Private Sub MnuInsPicfromFile_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuInsPicfromFile.Click        InsertImagefromFile()    End Sub    'Chèn ảnh từ Office ClipArt    Private Sub MnuInsPicfromOfficeClipArt_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuInsPicfromOfficeClipArt.Click        On Error Resume Next        'Gọi Office Clip Art        Shell(StrOfficeClipArtPath, AppWinStyle.NormalFocus)    End Sub    'Chèn ký tự đặt biệt    Private Sub MnuInsSymboy_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuInsSymboy.Click        On Error Resume Next        Shell("charmap", AppWinStyle.NormalFocus)    End Sub     'HELP    Private Sub MnuHlpAbout_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuHlpAbout.Click        FrmAbout.ShowDialog()    End Sub     Private Sub TmrClipboard_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TmrClipboard.Tick        If Clipboard.ContainsText = True Or Clipboard.ContainsImage = True Or Clipboard.ContainsFileDropList = True Then            MnuEdtPaste.Enabled = True            Tool_BttPaste.Enabled = True        Else            MnuEdtPaste.Enabled = False            Tool_BttPaste.Enabled = False        End If    End Sub     'Tùy chọn nâng cao    Private Sub MnuForAdvandOption_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuForAdvandOption.Click        FrmAdvandOption.ShowDialog()    End Sub     'Thay đổi màu    Private Sub MnuForFontColor_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuForFontColor.Click        ChangeFontColor()    End Sub    Private Sub Tool_BttFontColor_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Tool_BttFontColor.Click        ChangeFontColor()    End Sub     'Canh lề bằng menu    Private Sub MnuForAliRight_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuForAliRight.Click        ChangeAlignment("right")    End Sub    Private Sub MnuForAliLeft_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuForAliLeft.Click        ChangeAlignment("left")    End Sub    Private Sub MnuForAliCenter_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuForAliCenter.Click        ChangeAlignment("center")    End Sub    'Bằng thanh công cụ    Private Sub Tool_BttAliLeft_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Tool_BttAliLeft.Click        ChangeAlignment("left")    End Sub    Private Sub Tool_BttAliCenter_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Tool_BttAliCenter.Click        ChangeAlignment("center")    End Sub    Private Sub Tool_BttAliRight_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Tool_BttAliRight.Click        ChangeAlignment("right")    End Sub     'Kí tự đầu dòng    Private Sub MnuForBullet_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuForBullet.Click        ChangeBulletStatus(MnuForBullet.Checked)    End Sub    Private Sub Tool_BttBullet_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Tool_BttBullet.Click        ChangeBulletStatus(Tool_BttBullet.Checked)    End Sub     'Thay đổi các thuộc tính Font    Private Sub Tool_CboFontName_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Tool_CboFontName.TextChanged        ChangeFontName(Tool_CboFontName.Text)    End Sub    Private Sub Tool_CboFontSize_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Tool_CboFontSize.TextChanged        ChangeFontSize(Val(Tool_CboFontSize.Text))    End Sub     'Thay đổi font style    Private Sub Tool_BttBold_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Tool_BttBold.Click        ChangeFontBold()        MnuForBold.Checked = Tool_BttBold.Checked    End Sub    Private Sub MnuForBold_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuForBold.Click        ChangeFontBold()        Tool_BttBold.Checked = MnuForBold.Checked    End Sub    Private Sub MnuForItalic_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuForItalic.Click        ChangeFontItalic()        Tool_BttItalic.Checked = MnuForItalic.Checked    End Sub    Private Sub Tool_BttItalic_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Tool_BttItalic.Click        ChangeFontItalic()        MnuForItalic.Checked = Tool_BttItalic.Checked    End Sub    Private Sub MnuForUnderline_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuForUnderline.Click        ChangeFontUnderline()        Tool_BttUnderline.Checked = MnuForUnderline.Checked    End Sub    Private Sub Tool_BttUnderline_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Tool_BttUnderline.Click        ChangeFontUnderline()        MnuForUnderline.Checked = Tool_BttUnderline.Checked    End Sub    Private Sub MnuForStrikeout_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuForStrikeout.Click        ChangeFontStrikeout()    End Sub     'Lệnh cho thanh standar    Private Sub Tool_BttNew_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Tool_BttNew.Click        NewDocument()    End Sub    Private Sub Tool_BttOpen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Tool_BttOpen.Click        OpenDocument()    End Sub    Private Sub Tool_BttSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Tool_BttSave.Click        SaveDocument()    End Sub    Private Sub Tool_BttUndo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Tool_BttUndo.Click        UndoDocument()    End Sub    Private Sub Tool_BttRedo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Tool_BttRedo.Click        RedoDocument()    End Sub    Private Sub Tool_BttCut_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Tool_BttCut.Click        RtfMain.Cut()    End Sub    Private Sub Tool_BttCopy_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Tool_BttCopy.Click        RtfMain.Copy()    End Sub    Private Sub Tool_BttPaste_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Tool_BttPaste.Click        RtfMain.Paste()    End Sub    Private Sub Tool_BttFind_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Tool_BttFind.Click        FrmEdit.ShowDialog()    End Sub     'Chèn ảnh    Private Sub Tool_BttInsImgfromClipArt_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Tool_BttInsImgfromClipArt.Click        On Error Resume Next        'Gọi Office Clip Art        Shell(StrOfficeClipArtPath, AppWinStyle.NormalFocus)    End Sub    Private Sub Tool_BttInsImgfromFile_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Tool_BttInsImgfromFile.Click        InsertImagefromFile()    End Sub     'Chèn kí hiệu    Private Sub Tool_BttInsSymboy_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Tool_BttInsSymboy.Click        On Error Resume Next        Shell("charmap", AppWinStyle.NormalFocus)    End Sub     'Chèn đường kẻ    Private Sub MnuInsHorizontalRuler_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuInsHorizontalRuler.Click        On Error Resume Next        FrmInsHR.ShowDialog()    End Sub 
: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 thành viên
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: Thứ 4 26/03/2008 6:32 pm
Đến từ: ONLYSOFT
Been thanked: 8 times

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

Gửi bài by onlysoft »

Lệnh cho form như sau :

Mã: Chọn tất cả

Public Class FrmEdit    'KHAI BÁO BIẾN TOÀN CỤC    Dim IntFindLocation As Integer    'SỰ LÝ SỰ KIỆN    'Khi nhấn nút Find Next    Private Sub BttFndFindNext_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BttFndFindNext.Click        With FrmMain            'Tìm tiếp            If IntFindLocation = 0 Then 'Tìm ở vị trí đầu tiên                If ChkFndMatchCase.Checked = False Then                    IntFindLocation = Strings.InStr(.RtfMain.Text, TxtFndFindWhat.Text, CompareMethod.Text)                Else                    IntFindLocation = Strings.InStr(.RtfMain.Text, TxtFndFindWhat.Text, CompareMethod.Binary)                End If            Else 'Các vị trí khác                If ChkFndMatchCase.Checked = False Then                    IntFindLocation = Strings.InStr(IntFindLocation + Strings.Len(TxtFndFindWhat.Text), .RtfMain.Text, TxtFndFindWhat.Text, CompareMethod.Text)                Else                    IntFindLocation = Strings.InStr(IntFindLocation + Strings.Len(TxtFndFindWhat.Text), .RtfMain.Text, TxtFndFindWhat.Text, CompareMethod.Binary)                End If            End If             'Sét điều kiện bôi đen textbox            If IntFindLocation <> 0 Then                .RtfMain.SelectionStart = IntFindLocation - 1                .RtfMain.SelectionLength = Strings.Len(TxtFndFindWhat.Text)            Else                MessageBox.Show("Đã tìm hết văn bản", "Find complet", MessageBoxButtons.OK, MessageBoxIcon.Information)                IntFindLocation = 0            End If        End With    End Sub    'Khi load form    Private Sub FrmEdit_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load        'Thiết lập giá trị cho biến        IntFindLocation = 0    End Sub    'Đếm tổng các từ tìm được    Private Sub BttFndCount_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BttFndCount.Click        On Error Resume Next        Dim IntFind, IntCount As Integer        IntFind = 1        With FrmMain            'Tìm hết            While IntFind <> 0                If ChkFndMatchCase.Checked = False Then                    IntFind = Strings.InStr(IntFind + Strings.Len(TxtFndFindWhat.Text), .RtfMain.Text, TxtFndFindWhat.Text, CompareMethod.Text)                Else                    IntFind = Strings.InStr(IntFind + Strings.Len(TxtFndFindWhat.Text), .RtfMain.Text, TxtFndFindWhat.Text, CompareMethod.Binary)                End If                IntCount = IntCount + 1            End While            MessageBox.Show("Tổng số từ tìm được : " & IntCount, "Find complet", MessageBoxButtons.OK, MessageBoxIcon.Information)        End With    End Sub    'Khi nút Replace được nhấn    Private Sub BttRepReplace_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BttRepReplace.Click        With FrmMain            If ChkRepMatchCase.Checked = False Then                .RtfMain.Text = Strings.Replace(.RtfMain.Text, TxtRepFindWhat.Text, TxtRepReplaceWith.Text, , , CompareMethod.Text)            Else                .RtfMain.Text = Strings.Replace(.RtfMain.Text, TxtRepFindWhat.Text, TxtRepReplaceWith.Text, , , CompareMethod.Binary)            End If        End With    End Sub    'Xữ lý khi nhấn trên TabMain    Private Sub TabSMain_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles TabSMain.Click        'Chuyển cancel button khi chuyển tab        Select Case TabSMain.SelectedIndex            Case 0                Me.CancelButton = BttFndCancel            Case 1                Me.CancelButton = BttRepCancel        End Select    End Sub End Class 
: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 thành viên
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: Thứ 4 26/03/2008 6:32 pm
Đến từ: ONLYSOFT
Been thanked: 8 times

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

Gửi bài by onlysoft »

Lệnh cho form như sau :

Mã: Chọn tất cả

Public Class FrmInsHR    'Khi nút Insert được nhấn    Private Sub BttInsert_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BttInsert.Click        Dim HR As String        'Dùng hàm Strings.StrDup() để tạo ra các ký tự giống nhau        HR = Strings.StrDup(CType(Val(MTxtLen.Text), Integer), TxtCharacter.Text)        'Copy        Clipboard.SetText(HR)        'Pate        FrmMain.RtfMain.Paste()        'Clear        Clipboard.Clear()        Me.Close()    End SubEnd Class 
: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 thành viên
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: Thứ 4 26/03/2008 6:32 pm
Đến từ: ONLYSOFT
Been thanked: 8 times

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

Gửi bài by onlysoft »

Lệnh cho form như sau :

Mã: Chọn tất cả

Public Class FrmAdvandOption    'Khi nút Ok được nhấn    Private Sub BttOk_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BttOk.Click        'Xét giá trị cho textbox        If Val(TxtMaxLenght.Text) > 2147483647 Then            MessageBox.Show("Bạn đã nhập quá kích thước cho phép.", Me.Text, MessageBoxButtons.OK, MessageBoxIcon.Information)        Else            With FrmMain                If Val(TxtMaxLenght.Text) < .RtfMain.Text.Length Then                    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)                Else                    .RtfMain.MaxLength = Val(TxtMaxLenght.Text)                    Me.Close()                End If            End With        End If    End SubEnd Class 
: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 thành viên
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: Thứ 4 26/03/2008 6:32 pm
Đến từ: ONLYSOFT
Been thanked: 8 times

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

Gửi bài by onlysoft »

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 về 1591 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: Thứ 4 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ài by duyluandethuong »

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 thành viên
clarkkent
Mạnh Thường Quân
Mạnh Thường Quân
Bài viết: 1641
Ngày tham gia: Thứ 4 16/04/2008 11:25 am
Đến từ: Chợ Lách - Bến Tre
Been thanked: 32 times
Tiếp xúc:

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

Gửi bài by clarkkent »

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: Chủ nhật 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ài by vinhquyen »

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
Đăng trả lời

Quay về