Showing posts with label RichTextBox. Show all posts
Showing posts with label RichTextBox. Show all posts

Sunday, June 17, 2012

TAB Karakter Pada RichTextBox Control

Private Sub RichTextBox1_GotFocus()
ReDim arrTabStop(0 To Controls.Count - 1) As Boolean
For I = 0 To Controls.Count - 1
arrTabStop(I) = Controls(I).TabStop
Controls(I).TabStop = False
Next
End Sub

Private Sub RichTextBox1_LostFocus()
For I = 0 To Controls.Count - 1
Controls(I).TabStop = arrTabStop(I)
Next
End Sub
READ MORE - TAB Karakter Pada RichTextBox Control

Implementasi Pencarian Pada RichTextBox Control

Option Explicit

Private Sub Command1_Click()
HighlightWords RichTextBox1, "text", vbRed
End Sub

Private Function HighlightWords(rtb As RichTextBox, sFindString As String, lColor As Long) As Integer

Dim lFoundPos As Long
Dim lFindLength As Long
Dim lOriginalSelStart As Long
Dim lOriginalSelLength As Long
Dim iMatchCount As Integer

lOriginalSelStart = rtb.SelStart
lOriginalSelLength = rtb.SelLength

lFindLength = Len(sFindString)

lFoundPos = rtb.Find(sFindString, 0, , rtfNoHighlight)
While lFoundPos > 0
iMatchCount = iMatchCount + 1

rtb.SelStart = lFoundPos
rtb.SelLength = lFindLength
rtb.SelColor = lColor

lFoundPos = rtb.Find(sFindString, lFoundPos + lFindLength, , rtfNoHighlight)
Wend

rtb.SelStart = lOriginalSelStart
rtb.SelLength = lOriginalSelLength

HighlightWords = iMatchCount

End Function
READ MORE - Implementasi Pencarian Pada RichTextBox Control

Bagaimana Cara Mem-Print RichTextBox Yang Memiliki Image

Option Explicit

Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long

Private Const WM_PAINT = &HF
Private Const WM_PRINT = &H317
Private Const PRF_CLIENT = &H4&
Private Const PRF_CHILDREN = &H10&
Private Const PRF_OWNED = &H20&

Private Sub Command1_Click()
RichTextBox1.OLEObjects.Add , , "c:\windows\triangles.bmp"
End Sub

Private Sub Command2_Click()
Dim rv As Long
Picture1.SetFocus
Picture2.AutoRedraw = True
rv = SendMessage(Picture1.hwnd, WM_PAINT, Picture2.hdc, 0)
rv = SendMessage(Picture1.hwnd, WM_PRINT, Picture2.hdc, PRF_CHILDREN + PRF_CLIENT + PRF_OWNED)
Picture2.Picture = Picture2.Image
Picture2.AutoRedraw = False
Command1.SetFocus
End Sub

Private Sub Command3_Click()
Printer.PaintPicture Picture2.Picture, 0, 0
Printer.EndDoc
End Sub
READ MORE - Bagaimana Cara Mem-Print RichTextBox Yang Memiliki Image

Pencarian Secara Recursive Pada RichTextBox

Private Sub Form_Load()

RichTextBox1.LoadFile "license.txt"

End Sub

Private Sub Command1_Click()

Dim strval As String
Dim nStrings As Long

RichTextBox1.LoadFile "license.txt"

strval = " " & InputBox("Enter the string to find.", "Findit", "the") & " "

If strval <> "" Then

nStrings = FindIt(RichTextBox1, strval)
MsgBox (Str$(nStrings) & " instances found.")
End If

End Sub

Private Function FindIt(Box As RichTextBox, Srch As String, Optional Start As Long)

Dim retval As Long
Dim Source As String

Source = Box.Text

If Start = 0 Then Start = 1

retval = InStr(Start, Source, Srch)

If retval <> 0 Then

With Box
.SelStart = retval - 1
.SelLength = Len(Srch)
.SelColor = vbRed
.SelBold = True
.SelLength = 0
End With

Start = retval + Len(Srch)

FindIt = 1 + FindIt(Box, Srch, Start)
End If
End Function
READ MORE - Pencarian Secara Recursive Pada RichTextBox

Thursday, June 14, 2012

Mengaktifkan Horizontal ScrollBar Pada RichTextBox

Mengenai cara mengaktifkan Horizontal ScrollBar yang terdapat pada objek RichtTextBox VB6 Code - Pada saat kita mengisi text RichTextBox, maka secara otomatis RichTextBox tersebut akan melakukan aksi WordWrap, sekalipun kita telah menyeting properties RichtTextBox tersebut menjadi bernilai 3 - rtfBoth (Horizontal dan ScrollBar). Hal tersebut dikarenakan RightMargin yang terdapat pada RichtTextBox tersebut bernilai 0. Nah, untuk mengaktifkan Horizontal RichtTextBox tersebut Anda cukup meng-assign sebuah nilai properties RightMargin ke angka yang sangat besar, berikut contoh kodenya:
Private Sub Command1_Click()
RichTextBox1.RightMargin = 500000 'aktifkan horizontal scrollbar
End Sub
Demikian mengenai cara mengaktifkan horizontal scrollbar yang terdapat pada objek RichTextBox dalam bahasa pemrogaman VB6, semoga bermanfaat.
READ MORE - Mengaktifkan Horizontal ScrollBar Pada RichTextBox

Tuesday, May 29, 2012

Menyembunyikan Caret RichTextBox Menggunakan VB6

Di bawah ini merupakan kode untuk menyembunyikan caret menggunakan cara yang singkat, TIMER! dan satu fungsi API HideCaret.
'simpan kode ini pada Form 
Option Explicit

Public Declare Function
HideCaret Lib "user32" ByVal hwnd As Long) As Long

Private Sub
Timer1_Timer()
'menyembunyikan caret yang terdapat pada RichTextBox
'menggunakan cara singkat tapi kurang begitu baik, TIMER!!
HideCaret RichTextBox1.hwnd
End Sub
READ MORE - Menyembunyikan Caret RichTextBox Menggunakan VB6

Fungsi Format RTF Untuk Pembuatan Kamus Bahasa Inggris

Di bawah ini merupakan contoh format RTF untuk keperluan pembuatan kamus Bahasa Inggris. Fungsi di bawah ini dapat bekerja dengan sangat cepat? mengapa? karena ia tidak memformat tulisan pada objeknya secara langsung akan tetapi, memformat string yang terdapat dalam memori kemudian mem-feed-nya kembali ke dalam objek RichTextBox.

Bukankah:
Private Sub Command1_Click() 
Dim i As Integer
For i =
1 To 1000
Text1.Text = Text1.Text & "contoh tulisan" & vbCrLf
Next
End Sub
Berbeda dengan kode di bawah ini:
Private Sub Command1_Click() 
Dim i As Integer
Dim
sText As String
sText = Text1.Text
For i = 1 To 1000
sText = sText & "contoh tulisan" & vbCrLf
Next
Text1.Text = sText
End Sub
Sepintas dua kode di atas akan memberikan hasil yang sama akan tetapi berbeda jauh dalam segi kecepatan.

Di bawah ini merupakan fungsi format RTF untuk pembuatan kamus bahasa inggris:
Option Explicit 

Public Function
FormatSentence(sSentence As String) As String
Dim
sFormat As String
Dim
sKosakata As String
Dim
sText As String
Dim i As Integer
sFormat = "{\rtf1\fbidis\ansi\ansicpg1256\deff0\deflang1025{\fonttbl{\f0\fswiss\fcharset0 Arial;}}" & vbCrLf & _
"{\colortbl ;\red128\green0\blue0;\red0\green0\blue255;\red0\green128\blue128;\red0\green0\blue128;\red255\green0\blue0;\red128\green0\blue128;}" & vbCrLf & _
"{\*\generator Msftedit 5.41.15.1512;}\viewkind4\uc1\pard\ltrpar\lang1033\f0\fs17"
sKosakata = sSentence
sText = " " & Text1.Text
sText = Replace(sText, vbCrLf, " \Par" & vbCrLf)
sText = Replace(sText, " kb. ", " \cf2\b kb. \cf0\b0 ")
sText = Replace(sText, " -kki. ", " \cf5\b kki. \cf0\b0 ")
sText = Replace(sText, " kk. ", " \cf1\b kk. \cf0\b0 ")
sText = Replace(sText, " ks. ", " \cf3\b ks. \cf0\b0 ")
sText = Replace(sText, " -ks. ", " \cf3\b -ks. \cf0\b0 ")
sText = Replace(sText, " -kkt. ", " \cf5\b -kkt. \cf0\b0 ")
sText = Replace(sText, "(", "\cf5(\cf0 ")
sText = Replace(sText, ")", "\cf5)\cf0 ")
For i = 1 To 100
If InStr(1, sText, i) Then
sText = Replace(sText, " " & i & " ", " \b " & i & " \cf0\b0 ")
End If
Next
sText = Replace(sText, " -kkt. ", " \cf5\b -kkt. \cf0\b0 ")
sText = Replace(sText, " ks. ", " \cf3\b ks. \cf0\b0 ")
sText = sFormat & "\b " & sKosakata & "\b0 " & sText & "\par" & vbCrLf & "}"
FormatSentence = sText
End Function

Private Sub
Form_Load()
RTF.BackColor = RGB(241, 243, 241)
End Sub
Contoh penggunaan fungsi di atas:
Private Sub Command1_Click() 
RTF.TextRTF = FormatSentence(Text2.Text)
End Sub
Maka hasilnya seperti gambar di bawah ini:

Catatan:
Fungsi di atas hanyalah sekadar contoh, Anda dapat memodifikasinya untuk disesuaikan dengan kebutuhan.

Download: Source code fungsi format RTF untuk Kamus Bahasa Inggris
READ MORE - Fungsi Format RTF Untuk Pembuatan Kamus Bahasa Inggris

Monday, May 28, 2012

Menambah Horizontal ScrollBar Pada RichTextBox

Di bawah ini merupakan kode mengenai cara menambah horizontal scrollbar pada objek richtextbox.
Option Explicit 

Private Sub
Form_Load()
With RichTextBox1
.Text = "Visual Basic :: Horizontal Scroll Position In A Richtextbox, you must set the scrollbar properties to 1 or 3"
.RightMargin = RichTextBox1.Width + 600
End With
End Sub
READ MORE - Menambah Horizontal ScrollBar Pada RichTextBox