Selasa, 19 Juni 2012

EDraw Office Viewer

EDraw Office Viewer adalah Kontrol yang digunakan untuk membantu menampilkan file office Word, Excel, PowerPoint ke dalam Form.

Label: , , ,

Minggu, 27 Mei 2012

Visual Styler

Visual Styler adalah Kontrol yang digunakan untuk mengubah tampilan dari Form beserta kontrol didalamnya. Tampilannya dapat dirubah menjadi seperti Office, Mac, atau Vista.

Penggunaannya sangat mudah, Anda tinggal menambahkan kontrol Visual Styler ke dalam Form. Lalu pilih tampilan yang diinginkan di properti VisualStyle-nya. Setelah itu simpan Project untuk melakukan perubahan.

Label: , , ,

Jumat, 27 April 2012

Menekan Tombol dengan kode

Berikut cara menekan Tombol / Button menggunakan kode, jadi tanpa melakukan klik menggunakan pointer mouse.

Tulis kode berikut di event '(Declarations)' dari Form
[ VB 6.0 ]
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long

Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
[ VB .NET ]
Private Declare Function SendMessage Lib"user32.dll" Alias "SendMessageA"(ByVal hwnd As Integer, ByVal wMsg As Integer, ByVal wParam As Integer, ByRef lParam As Object) As Integer

Const WM_LBUTTONDOWN = &H201
Const WM_LBUTTONUP = &H202


Sekarang untuk mempraktekkannya gunakan kode seperti berikut :
 [ VB 6.0 ]
SendMessage Command1.hwnd, &HF3, 1, 0
Sleep 150
SendMessage Command1.hwnd, &HF3, 0, 0

Command1.Value = True

[ VB .NET ]
SendMessage(Button1.Handle, WM_LBUTTONDOWN, 0, 0)
Application.DoEvents()
Threading.Thread.Sleep(150)
SendMessage(Button1.Handle, WM_LBUTTONUP, 0, 0)

Button1.PerformClick()

Label: , , ,

Sabtu, 31 Maret 2012

Progress di Taskbar

Cara menambahkan Progress di Taskbar ini hanya bisa diterapkan pada Windows 7 menggunakan VB .NET. Library yang digunakannya adalah WindowsAPICodePack.

Label: , , ,

Selasa, 21 Februari 2012

ListBox yang bisa di Edit

Agar item yang terdapat di ListBox bisa di edit, maka diperlukan cara khusus dengan mengkombinasikannya dengan TextBox. Berikut caranya :
  1. Tambahkan 1 ListBox, kemudian 1 TextBox (properti Visible=False) ke dalam Form.

  2. Ketikkan kode ini di event ListBox1_MouseDoubleClick :
    Dim i As Integer = ListBox1.SelectedIndex
    If i < 0 Then Exit Sub

    With TextBox1
      .Top = ListBox1.GetItemRectangle(i).Top + ListBox1.Top
      .Left = ListBox1.GetItemRectangle(i).Left + ListBox1.Left

      .Text = ListBox1.Items(i)
      .Visible = True
      .Focus()
    End With

  3. Ketikkan kode ini di event TextBox1_KeyPress :
    If e.KeyChar = Chr(Keys.Enter) Then
      ListBox1.Items(ListBox1.SelectedIndex) = TextBox1.Text
      TextBox1.Visible = False
    ElseIf e.KeyChar = Chr(Keys.Escape) Then
      TextBox1.Visible = False
    End If

  4. Ketikkan kode ini di event TextBox1_LostFocus :
    TextBox1.Visible = False

  5. Untuk percobaan, Anda bisa mengisi item dengan cara mengetikkan kode ini di event Form1_Load :
    Dim i As Integer
    For i = 1 To 100
      ListBox1.Items.Add("Item ke " & i)
    Next
 Jalankan aplikasi, lalu dobel klik item yang akan di edit.

Label: , ,

Sabtu, 07 Januari 2012

TextBox Angka Class

Biasanya ketika Anda ingin membuat TextBox yang hanya bisa diisi angka  maka dibuat prosedur di setiap TextBox-nya. Jika TextBox-nya hanya 1 atau 2 mungkin tidak masalah,
tapi bagaimana bila 10 buah. Maka akan kurang efisien karena terjadi duplikasi kode yang banyak. Karena itu perlu dibuat Class khusus TextBox angka untuk menghemat kode.

Label: , , ,

Minggu, 25 Desember 2011

Mengganti Warna Border dari Kontrol

Kontrol-kontrol yang ada di VB tidak menyediakan properti untuk mengganti warna bordernya. Jadi jika Anda ingin mengubah warna bordernya diperlukan kode tambahan.
Cara pembuatannya seperti di bawah ini :

Buat Project baru dengan sebuah Form dan sebuah Module didalamnya.
Di Module ketikkan kode berikut :

[ VB 6.0 ]
Private Declare Function CreateRectRgn Lib "gdi32.dll" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long
Private Declare Function SetWindowRgn Lib "user32.dll" (ByVal hwnd As Long, ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long
Private Declare Function CreateSolidBrush Lib "gdi32.dll" (ByVal crColor As Long) As Long
Private Declare Function FrameRgn Lib "gdi32.dll" (ByVal hDC As Long, ByVal hRgn As Long, ByVal hBrush As Long, ByVal nWidth As Long, ByVal nHeight As Long) As Long

Public Sub BorderColor(ByVal Ctl As Control, ByVal lColor As OLE_COLOR, Optional ByVal BorderWidth As Integer = 2)
    Dim l As Long
   
    l = CreateRectRgn(BorderWidth, BorderWidth, (Ctl.Width / Screen.TwipsPerPixelX) - BorderWidth, (Ctl.Height / Screen.TwipsPerPixelY) - BorderWidth)
    SetWindowRgn Ctl.hwnd, l, False

    l = CreateRectRgn(Ctl.Left / Screen.TwipsPerPixelX, Ctl.Top / Screen.TwipsPerPixelY, Ctl.Width / Screen.TwipsPerPixelX + (Ctl.Left / Screen.TwipsPerPixelX), Ctl.Height / Screen.TwipsPerPixelY + (Ctl.Top / Screen.TwipsPerPixelY))
    FrameRgn Ctl.Container.hDC, l, CreateSolidBrush(lColor), BorderWidth, BorderWidth
End Sub

[ VB .NET ]
Private Declare Function CreateRectRgn Lib "gdi32.dll" (ByVal X1 As Integer, ByVal Y1 As Integer, ByVal X2 As Integer, ByVal Y2 As Integer) As Integer
Private Declare Function SetWindowRgn Lib "user32" (ByVal hwnd As Integer, ByVal hRgn As Integer, ByVal bRedraw As Boolean) As Integer
Private Declare Function CreateSolidBrush Lib "gdi32.dll" (ByVal crColor As Integer) As Integer
Private Declare Function GetDC Lib "user32.dll" (ByVal hwnd As Integer) As Integer
Private Declare Function FrameRgn Lib "gdi32.dll" (ByVal hdc As Integer, ByVal hRgn As Integer, ByVal hBrush As Integer, ByVal nWidth As Integer, ByVal nHeight As Integer) As Integer

Public Sub BorderColor(ByVal Ctl As Control, ByVal lColor As Color, Optional ByVal BorderWidth As Integer = 1)
        Dim i As Integer

        i = CreateRectRgn(BorderWidth, BorderWidth, Ctl.Width - BorderWidth, Ctl.Height - BorderWidth)
        SetWindowRgn(Ctl.Handle, i, False)

        i = CreateRectRgn(Ctl.Left, Ctl.Top, Ctl.Width + Ctl.Left, Ctl.Height + Ctl.Top)
        FrameRgn(GetDC(Ctl.Parent.Handle), i, CreateSolidBrush(CInt(ColorTranslator.ToWin32(lColor))), BorderWidth, BorderWidth)
End Sub



Sekarang buatlah sebuah TextBox di Form1 dan misalnya Anda ingin diubah warna bordernya menjadi warna biru, maka tuliskan kode berikut ini di bagian 'Form_Paint' dari Form1 :
[ VB 6.0 ]
BorderColor Text1, vbBlue
[ VB .NET ]
BorderColor(TextBox1, Color.Blue)



CATATAN :
- Bagi pengguna VB 6.0,  apabila Kontrol yang akan diganti warna bordernya ditempatkan di PictureBox, maka properti "AutoRedraw" dari PicturBox tersebut harus bernilai "True".
- Bagi pengguna VB 6.0,  apabila Kontrol yang akan diganti warna bordernya ditempatkan di Frame atau Tab, maka cara diatas tidak dapat digunakan. Solusinya buatlah sebuah PictureBox (properti AutoRedraw=True; BorderStyle=0) ke dalam Frame atau Tab tersebut, baru Kontrol yang akan diganti warna bordernya ditempatkan di PictureBox tersebut.

Label: , , ,

Jumat, 23 Desember 2011

Menghilangkan Border dari Kontrol

Tidak semua Kontrol yang ada di VB menyediakan properti untuk menghilangkan border / pinggiran-nya. Karena itu perlu dibuat kode khusus untuk menghilangkan border tersebut. Berikut contoh pembuatannya :

Buat Project baru dengan sebuah Form dan sebuah Module didalamnya.
Di Module ketikkan kode berikut :

[ VB 6.0 ]
Private Declare Function CreateRectRgn Lib "gdi32.dll" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long
Private Declare Function SetWindowRgn Lib "user32" (ByVal hwnd As Long, ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long

Public Sub NoBorder(ByVal Ctl As Control, Optional ByVal CropWidth As Integer = 2)
    Dim l As Long
    l = CreateRectRgn(CropWidth, CropWidth, (Ctl.Width / Screen.TwipsPerPixelX) - CropWidth, (Ctl.Height / Screen.TwipsPerPixelY) - CropWidth)
    SetWindowRgn Ctl.hwnd, l, False
End Sub

[ VB .NET ]
Private Declare Function CreateRectRgn Lib "gdi32.dll" (ByVal X1 As Integer, ByVal Y1 As Integer, ByVal X2 As Integer, ByVal Y2 As Integer) As Integer
Private Declare Function SetWindowRgn Lib "user32" (ByVal hwnd As Integer, ByVal hRgn As Integer, ByVal bRedraw As Boolean) As Integer

Public Sub NoBorder(ByVal Ctl As Control, Optional ByVal CropWidth As Integer = 1)
    Dim i As Integer
    i = CreateRectRgn(CropWidth, CropWidth, Ctl.Width - CropWidth, Ctl.Height - CropWidth)
    SetWindowRgn(Ctl.Handle, i, False)
End Sub


Sekarang untuk percobaanya buat beberapa Kontrol ke dalam Form. Lalu ketikkan kode sesuai dengan nama Kontrol-nya di bagian 'Form_Load' dari Form seperti ini :
NoBorder TextBox1 'nama kontolnya adlh TextBox1

Label: , , ,

Senin, 19 Desember 2011

Fungsi Semua Terisi

Fungsi Semua Terisi ini adalah fungsi untuk memudahkan Anda apakah User telah mengisi seluruh kontrol isian (seperti TextBox atau ComboBox) dalam suatu Form. Agar lebih jelas, berikut cara membuatnya :

Buat Project baru dengan sebuah Form dan sebuah Module didalamnya.
Di Module ketikkan kode berikut :
Public Function SemuaTerisi(ByVal Frm As Form) As Boolean
    Dim c As Control
    Dim b As Boolean
  
    b = True
  
    For Each c In Frm.Controls
        If (TypeOf c Is TextBox) Or (TypeOf c Is ComboBox) Then 'utk TextBox dan ComboBox
           b = Not (Trim(c.Text) = "")
        End If
      
        If b = False Then
            c.SetFocus
            Exit For
        End If
    Next
  
    SemuaTerisi = b
End Function
(bagi pengguna VB .NET gantikan kode yang berwarna merah dengan kode "c.Focus()"

Untuk percobaan, buatlah 3 buah Textbox dan 1 Tombol/ Button ke dalam Form. Lalu ketikkan kode berikut di Tombol/ Button_Click :
If SemuaTerisi(Me) Then
    MsgBox "Data sudah lengkap", vbInformation
Else
    MsgBox "Data belum lengkap", vbCritical
End If

Jalankan, kemudian tes dengan mengisi atau mengosongkan TextBox.

Label: , , , ,

Selasa, 13 Desember 2011

BindingSource + BindingNavigator + DataGridView

Mungkin masih jarang yang mengkombinasikan BindingSource, BindingNavigator, dan DataGridView, padahal cara ini dapat mempermudah pembuatan aplikasi database.
Masing-masing kontrol memiliki fungsi sendiri-sendiri, DataGridView sebagai tampilan tabelnya, BindingNavigator sebagai tombol-tombol navigasi, dan BindingSource sebagai penghubungnya.

Label: , , ,

Menyimpan DataGridView

Seperti diketahui secara umum bahwa data yang ditampilkan di kontrol DataGridView tidak ter-link / terhubung langsung dengan data yang ada di databasenya.
Berikut ini contoh bagaimana menyimpan data di DataGridView ke databasenya sehingga saling terhubung.

Label: , , ,

Minggu, 11 Desember 2011

Awal Kapital Otomatis di TextBox

Yang dimaksud disini adalah dimana ketika User mengetikkan suatu kalimat di TextBox, maka secara otomatis huruf pertama setiap kata dalam kalimat tersebut diubah menjadi huruf kapital / besar. Cara ini berguna untuk mempermudah pengisian dan mengurangi resiko kesalahan pengetikan pada TextBox tertentu, seperti TextBox untuk mengisi nama orang.
Caranya buat sebuah kontrol TextBox ke dalam Form. Lalu ketikkan kode berikut :

[ VB 6.0 ]
Di bagian 'Text1_Change' :
Dim i As Integer
i = Text1.SelStart
Text1.Text = StrConv(Text1.Text, vbProperCase)
Text1.SelStart = i

[ VB .NET ]
Di bagian 'TextBox1_TextChanged' :
Dim i As Integer = TextBox1.SelectionStart
TextBox1.Text = StrConv(TextBox1.Text, VbStrConv.ProperCase)
TextBox1.SelectionStart = i

Jalankan, kemudian ketikkan beberapa kata dalam TextBox tersebut.

Label: , , ,

Kamis, 01 Desember 2011

Performance Counter

Aplikasi ini adalah aplikasi penghitung performance atau kinerja komputer secara real-time yang akan menghitung performance meliputi processor, memory, dan network.
Dalam pembuatannya menggunakan kontrol PerformanceCounter sebagai kontrol utamanya dan tanpa menggunakan Fungsi API. Kontrol PerformanceCounter itu sendiri adalah kontrol yang digunakan untuk mendapatkan nilai kinerja bagian-bagian komputer, seperti processor, memory, local disk, server, network, process, dll.

Label: , , , ,

Senin, 28 November 2011

FileSystemWatcher

FileSystemWatcher adalah sebuah kontrol yang digunakan untuk me-monitor / memantau aktifitas yang terjadi di suatu Folder, seperti membuat, merubah, menghapus File maupun Folder. Penggunaannya sangat mudah, berikut contoh caranya :
  • Buat Project baru dengan sebuah Form didalamnya. Masukkan 1 kontrol FileSystemWatcher ke dalam Form tersebut.
  • Pilih Folder mana yang akan di monitor dengan mengubah properti "Path"-nya.
  • Jika proses monitor ingin dilakukan juga pada Folder di dalam Folder terpilih, ubah properti "IncludeSubdirestories" menjadi "True".
  • Sekarang untuk menampung hasilnya, tambahkan 1 kontrol ListBox ke dalam Form.
  • Ketikkan kode :
    Di bagian 'FileSystemWatcher1_Changed'
    ListBox1.Items.Add("Dirubah > " & e.FullPath)
    Di bagian 'FileSystemWatcher1_Created'
    ListBox1.Items.Add("Dibuat > " & e.FullPath)
    Di bagian 'FileSystemWatcher1_Deleted'
    ListBox1.Items.Add("Dihapus > " & e.FullPath)
    Di bagian 'FileSystemWatcher1_Renamed'
    ListBox1.Items.Add("Diganti namanya > " & e.FullPath)
Sekarang jalankan Project, lalu buat percobaan dengan melakukan aktifitas seperti membuat dan menghapus File atau Folder.

Label: , , ,

Senin, 07 November 2011

All-In-One Toolbar

All-In-One Toolbar bukanlah sebuah kontrol Toolbar baru atau buatan sendiri, tetapi hanya konsep / cara bagaimana lebih memanfaatkan kontrol Toolbar biasa,
khususnya aplikasi yang menggunakan tampilan MDI.

Label: , , ,

Jumat, 12 Agustus 2011

ComboBox Kombinasi

Dengan sedikit kreatfitas sebenarnya kontrol ComboBox bisa dikombinasikan dengan kontrol lain, semisal ListView (seperti gambar diatas), TreeView, bahkan DataGrid.
Sehingga tampilan ComboBox lebih variatif dari biasanya yang hanya menampilkan list saja.

Label: , , ,

Sabtu, 25 Juni 2011

Menampilkan Gambar GIF atau PNG

Kontrol PictureBox dan Image yang terdapat dalam VB 6.0 tidak dapat menampilkan gambar yang berformat GIF (secara gerak / animasi) dan PNG. Solusi yang paling mudah untuk melakukannya adalah menggunakan kontrol WebBrowser, berikut langkah-langkahnya :

Buat Project baru dengan sebuah Form didalamnya. Lalu tambahkan Component baru dengan nama "Microsoft Internet Controls", kemudian tempatkan kontrol WebBrowser. Untuk menampilkan gambar ke dalam WebBrowser, tambahkan kode berikut di bagian 'Form_Load'
WebBrowser1.Navigate "LOKASI FILE GAMBAR"

Bila Anda menginginkan agar kontrol WebBrowser tampak seperti kontrol PictureBox, gunakan kode berikut :
Dim s As String, h As String

s = "LOKASI FILE GAMBAR"

h = "<html>" & vbCrLf & "<body scroll=" & Chr(34) & "no" & Chr(34)
h = h & " TOPMARGIN=" & Chr(34) & "0" & Chr(34)
h = h & " LEFTMARGIN=" & Chr(34) & "0" & Chr(34) & ">" & vbCrLf

h = h & "<img src=" & Chr(34) & s & Chr(34) & ">" & vbCrLf & "</body>" & vbCrLf & "</html>"

Open App.Path & "\temp.tmp" For Output As #1
Print #1, h
Close #1

WebBrowser1.Navigate App.Path & "\temp.tmp"

Jika ingin diubah posisi gambarnya ke tengah, gantikan kode yang berwarna merah dengan kode berikut :
h = h & "<center><img src=" & Chr(34) & s & Chr(34) & "></center>" & vbCrLf & "</body>" & vbCrLf & "</html>"

Jika ingin gambar ditampilkan secara stretch, gantikan kode yang berwarna merah dengan kode berikut :
h = h & "<img src=" & Chr(34) & s & Chr(34) & " width =" & Chr(34) & "100%" & Chr(34)
h = h & " height =" & Chr(34) & "100%" & Chr(34) & " >" & vbCrLf & "</body>" & vbCrLf & "</html>"


Untuk menghilangkan PopupMenu dari kontrol WebBrowser, ikuti langkah-langkah berikut :
Tambahkan References "Microsoft HTML Object Library"
Di bagian '(Declarations)' dari Form ketikkan :
Dim WithEvents Hdoc As HTMLDocument
Lalu di bagian 'WebBrowser1_DocumentComplete' ketikkan :
Set Hdoc = WebBrowser1.Document
Terakhir di bagian 'Hdoc_oncontextmenu()' ketikkan :
Hdoc_oncontextmenu = False




CATATAN :
Selain dapat diterapkanuntuk gambar berformat GIF atau PNG, cara ini juga bisa diterapkan untuk format yang lain seperti JPG, BMP, ICO, dll
Karena cara ini menggunakan kontrol WebBrowser maka bisa digunakan untuk men-load gambar dari internet.

Label: , ,

Rabu, 15 Juni 2011

Menempatkan DataReport Sebagai Kontrol

Jika Anda pernah atau sedang menggunakan DataReport sebagai laporan untuk database, maka mau tidak mau DataReport tersebut akan tampil sebagai form / jendela baru.
Dengan sedikit trik, sebenarnya DataReport bisa ditempatkan sebagai kontrol seperti menggunakan CrystalReport (dengan kontrol viewer).
Download source code-nya disini.

Label: , , , ,

Senin, 13 Juni 2011

Mengisi AutoComplete TextBox dengan Data

Dalam kontrol TextBox di VB .NET, terdapat properti AutoComplete yang berguna untuk memudahkan pengisian teks dengan menampilkan kemungkinan teks yang akan diketik.
Dengan sedikti kreatifitas, Anda bisa memanfaatkan properti AutoComplete tersebut sebagai fitur untuk mempermudah penginputan data, dengan cara mengisinya dengan data yang diperlukan. Download contoh source code-nya disini.

Label: , , ,

Jumat, 10 Juni 2011

Membatasi Karakter Input TextBox

Mungkin Anda pernah menginginkan agar sebuah TextBox hanya boleh atau bisa diisi dengan karakter input tertentu, seperti hanya karakter "R" dan "A" saja, atau mungkin hanya karakter "I" dan karakter angka saja, atau yang lain.
Berikut ini satu baris kode yang bisa Anda gunakanuntuk melakukannya. Sebagai contoh, buatlah sebuah kontrol TextBox di dalam Form. Lalu  ketikkan kode berikut di bagian 'TextBox1_KeyPress' -nya :

[ VB 6.0 ]
If (InStr("RTAB", Chr(KeyAscii)) = 0) And (KeyAscii <> 8) Then KeyAscii = 0

[ VB .NET ]
If (InStr("RTAB", e.KeyChar) = 0) And (e.KeyChar <> Chr(8)) Then e.KeyChar = Chr(0)

Contoh diatas menunjukkan bagaimana TextBox hanya bisa diisi karakter "R", "T", "A", dan "B" saja. Jika Anda menginginkan karakter yang lain, tinggal menggati teks yang berwarna merah dengan karakter-karakter yang hanya boleh diinputkan. Misalnya Anda ingin hanya krakter "J" dan karakter angka saja, tinggal menggantikannya dengan "J0123456789".

Label: , , ,