Rabu, 16 Juni 2010

Tray Icon

Tray icon adalah sebuah ikon yang ditampilkan di bagian pojok kanan bawah layar.
Ikon ini biasanya digunakan untuk mewakili aplikasi, bila Form utamanya tidak dalam keadaan terbuka. Ikon ini juga mendukung event mouse, seperti event LeftClick, LeftDblClick, RightClick, dll.
Download source code-nya disini.

Label: , ,

Selasa, 15 Juni 2010

Splitter

Splitter adalah sebuah kontrol yang digunakan mengatur ukuran kontrol-kontrol lain pada saat aplikasi runtime / berjalan. Splitter ini dibuat dengan bantuan kontrol PictureBox yang akan bergerak sesuai dengan posisi kursor mouse. Download source code-nya disini.

Label: , ,

Minggu, 13 Juni 2010

Membuat Menu di Excel

Jika anda mempunyai aplikasi yang dibuat dengan Excel, ada baiknya anda membuat menu sendiri yang dikhususkan untuk aplikasi tersebut. Menu ini dibuat dengan cara mengetikkan kode pada VBA editor-nya. Menu ini akan bersifat private atau hanya akan tampil pada sebuah workbook / file excel itu sendiri.
Jika Anda menggunakan Excel 2003, maka menu tampil seperti biasa di bagian atas Form. Sedangkan jika Anda menggunakan Excel 2007 keatas, maka menu tampil di tab ribbon "Add-In". Download samplenya disini.

Label: , ,

Jumat, 11 Juni 2010

Mewarnai ProgressBar

Untuk mengganti warna dari kontrol ProgreesBar diperlukan cara khusus, karena tidak disediakan pengaturan warna di propertinya.

Buat sebuah Module dan ketikkan :
Private Declare Function SendNotifyMessage Lib "user32.dll" Alias "SendNotifyMessageA" (ByVal hwnd As Long, ByVal msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Public Sub SetPrgColor(Prg As ProgressBar, ForeColor As OLE_COLOR, BackColor As OLE_COLOR)
SendNotifyMessage Prg.hwnd, (&H400 + 9), 0, ForeColor
SendNotifyMessage Prg.hwnd, (&H2000 + 1), 0, BackColor
End Sub

Untuk menggunakannya tinggal ketikkan kode berikut di 'Form_Load'.
SetPrgColor ProgressBar1, vbYellow, vbRed

Label: , ,

Rabu, 09 Juni 2010

Form Berlatar Desktop

Kode ini akan mengubah latar belakang dari sebuah Form menjadi seperti gambar / wallpaper Desktop komputer Anda. Buat sebuah Form dengan kontrol Timer (Enabled=True; Interval=100) didalamnya.

[ VB 6.0 ]
Ketik kode berikut di bagian '(Declarations)' dari Form.
Private Declare Function PaintDesktop Lib "user32" (ByVal hdc As Long) As Long
Dan ketikkan kode berikut di bagian 'Timer1_Timer'.
PaintDesktop Me.hdc

[ VB .NET ]
Ketik kode berikut di bagian '(Declarations)' dari Form.
Private Declare Function PaintDesktop Lib "user32" (ByVal hdc As Integer) As Integer
Private Declare Function GetDC Lib "user32" (ByVal hwnd As Integer) As Integer
Dan ketikkan kode berikut di bagian 'Timer1_Tick'.
PaintDesktop(GetDC(Me.Handle.ToInt32))

Label: , , ,

Browse Folder

Berikut ini adalah kode yang digunakan untuk membuka kotak dialog Browse Folder.

[ VB 6.0 ]
Tambahkan Reference 'Microsoft Shell Controls And Automation'.
Kode untuk memanggilnya adalah :
Dim sh As New Shell
Dim fo As Shell32.Folder
   
On Error GoTo Ero
Set fo = sh.BrowseForFolder(Me.hWnd, "Pilih Folder", 0)
MsgBox fo.Self.Path 'folder yang terpilih
Ero:
Bila Anda menginginkan hanya mencakup folder tertentu, misalnya hanya di "D:\" saja. Gantikan kode yang berwarna merah dengan kode berikut :
Set fo = sh.BrowseForFolder(Me.hWnd, "Pilih Folder", 0, "D:\")



[ VB .NET ]
Kode untuk memanggilnya adalah :
Dim dlg As New FolderBrowserDialog

'jk ingin yg MyDocuments saja, aktifkan kode d bawah ini
'dlg.RootFolder = Environment.SpecialFolder.MyDocuments

dlg.Description = "Pilih Folder"

If dlg.ShowDialog() = 1 Then
MsgBox(dlg.SelectedPath) 'folder yg terpilih
End If

Label: , , ,

Selasa, 08 Juni 2010

Mewarnai ToolBar

Kontrol ToolBar tidak mempunyai pengaturan warna didalamnya, berikut ini adalah kode-kode agar ToolBar dapat diubah warnanya.

Buat sebuah Module baru, dan ketikkan :
Private Declare Function SetClassLong Lib "user32" Alias "SetClassLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwnewlong As Long) As Long
Private Declare Function OleTranslateColor Lib "oleaut32.dll" (ByVal lOleColor As Long, ByVal lHPalette As Long, ByRef lColorRef As Long) As Long
Private Declare Function CreateSolidBrush Lib "gdi32.dll" (ByVal crColor As Long) As Long
Private Declare Function DeleteObject Lib "gdi32.dll" (ByVal hObject As Long) As Long

Public Sub SetTlbColor(ByVal Tlb As Toolbar, ByVal Color As OLE_COLOR)
Dim l As Long
If OleTranslateColor(Color, 0, l) Then l = &HFFFF&
DeleteObject SetClassLong(Tlb.hwnd, -10, CreateSolidBrush(l))
End Sub

Untuk peggunaannya, buat sebuah Form baru dengan kontrol ToolBar (Style=tbrFlat) didalamnya. Lalu ketikkan kode berikut di 'Form_Load'.
SetTlbColor Toolbar1, vbBlue

Label: , ,

Minggu, 06 Juni 2010

Permainan Tik Tak

Sebenarnya saya tidak tau persis nama asli permainan ini, tapi mungkin Anda sudah pasti tau cara bermain permainan klasik ini. Meskipun permainan ini tergolong aplikasi yang sederhana, namun kode-kode yang digunakan agak sedikit rumit.
Download saja source code-nya disini.

Label: , ,

Permainan Kombinasi Angka

Ini merupakan permainan pengkombinasian angka yang mirip seperti mesin slot.
Untuk memenangkan permainan ini, Anda cukup membuat kombinasi angka yang sesuai dengan kriteria tertentu.
Download source code-nya disini.

Label: , ,

Sabtu, 05 Juni 2010

Mengakses Item Control Panel

Kode berikut digunakan mengakses item yang ada di Control Panel.
Shell "rundll32.exe shell32.dll,Control_RunDLL timedate.cpl,,0", 1
Kode tersebuat akan mengakses pengaturan waktu dan tanggal komputer. Jika ingin mengakses item yang lain, tinggal gantikan tulisan yang berwarna merah dengan nama file *.cpl yang lain. File *.cpl kebanyakan dapat Anda temukan di lokasi instalasi Windows.

Label: , , ,

Judul Form Berjalan

Kode-kode berikut akan mengubah judul Form seperti teks yang sedang berjalan.
Buat sebuah Form dengan sebuah Timer (Enabled=True; Interval=200) didalamnya.

[ VB 6.0 ]
Di bagian '(Declarations)' dari Form ketikkan :
Dim s As String
Di bagian 'Form_Load' ketikkan :
s = "Ini adalah caption dari form yang sedang berjalan. "
Dan terakhir di bagian 'Timer1_Timer' ketikkan :
Caption = Left(s, 15) 'membatasi hanya 15 karakter
s = Right(s, Len(s) - 1) & Left(s, 1)


[ VB .NET ]
Di bagian '(Declarations)' dari Form ketikkan :
Dim s As String = "Ini adalah caption dari form yang sedang berjalan. "
Di bagian 'Timer1_Tick' ketikkan :
Text = Microsoft.VisualBasic.Left(s, 15) 'membatasi hanya 15 karakter
s = Microsoft.VisualBasic.Right(s, Len(s) - 1) & Microsoft.VisualBasic.Left(s, 1)


CATATAN : Kode ini juga bisa diterapkan pada sebuah kontrol, semisal kontrol Label.

Label: , , ,

Kamis, 03 Juni 2010

Menebalkan Tanggal di MonthView atau MonthCalendar

Source code ini akan menunjukkan bagaimana cara menebalkan tanggal di kontrol MonthView atau MonthCalendar berdasarkan data yang tersimpan di database.
Download source code-nya disini.

Label: , , , ,

Rabu, 02 Juni 2010

Menempatkan Form selalu di depan

Berikut ini adalah kode-kode yang digunakan agar Form aplikasi Anda selalu ditempatkan paling depan diantara Form-Form aplikasi yang lain.

Buat sebuah Module baru dan ketikkan :
Public Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long

Public Sub FormOnTop(ByVal Frm As Form, ByVal State As Boolean)
SetWindowPos Frm.hwnd, IIf(State = True, -1, -2), 0, 0, 0, 0, &H1 Or &H2
End Sub

Untuk contoh penggunaannya, buatlah sebuah Form dan ketikkan kode berikut di bagian 'Form_Paint'.
FormOnTop Me, True

Namun jika anda menginginkan proses aktif/ non-aktifkan saat aplikasi berjalan, lakukan hal berikut. Buatlah sebuah Form dan sebuah CheckBox didalamnya.
Lalu di bagian 'Check1_Click' dan di bagian 'Form_Paint' ketikkan :
FormOnTop Me, IIf(Check1.Value = 1, True, False)

Label: , ,

Selasa, 01 Juni 2010

Membuka dan Menyimpan File Teks

Kegiatan / proses membuka dan menyimpan file teks biasanya digunakan untuk aplikasi sejenis Notepad, tapi selain itu juga dilakukan untuk menyimpan data aplikasi ke dalam file teks (*.txt). Sebelum melanjutkannya, siapkan sebuah Form dan kontrol TextBox (Multiline=True) didalamnya. Lalu siapkan sebuah file *.txt yang berisi, dan ingat-ingat lokasinya (dalam contoh dibawah ini, lokasi file-nya di D:\contoh.txt).
Berikut ini macam-macam metodenya :

[ VB 6.0 ]
  • Membuka Teks dari File
    Dim i As Integer
    i = FreeFile
    Open "D:\contoh.txt" For Input As #i
    Text1.Text = Input(LOF(i), i)
    Close #i

  • Membuka Teks dari File (dengan cara dibaca per baris)
    Dim i As Integer
    i = FreeFile
      
    Dim s As String, s1 As String
    Open "D:\contoh.txt" For Input As #i
    Do Until EOF(i)
    Input #i, s 'tiap baris d tampung d variabel "s"
    s1 = s1 & s & IIf(EOF(i), "", vbCrLf)
    Loop
    Close #i
      
    Text1.Text = s1

  • Menyimpan Teks ke File
    Dim i As Integer
    i = FreeFile
    Open "D:\contoh.txt" For Output As #i
    Print #i, Text1.Text
    Close #i

  • Menambahkan Teks ke File
    Dim i As Integer
    i = FreeFile
    Open "D:\contoh.txt" For Append As #i
    Print #i, Text1.Text
    Close #i




[ VB .NET ]
  • Membuka Teks dari File
    Dim i As Integer = FreeFile()
    FileOpen(i, "D:\contoh.txt", OpenMode.Input)
    TextBox1.Text = InputString(i, LOF(i))
    FileClose(i)

  • Membuka Teks dari File (dengan cara dibaca per baris)
    Dim i As Integer = FreeFile()

    Dim s, s1 As String
    FileOpen(i, "D:\contoh.txt", OpenMode.Input)
    Do Until EOF(i)
    Input(i, s) 'tiap baris d tampung d variabel "s"
    s1 &= s & IIf(EOF(i), "", vbCrLf)
    Loop
    FileClose(i)

    TextBox1.Text = s1

  • Menyimpan Teks ke File
    Dim i As Integer = FreeFile()
    FileOpen(i, "D:\contoh.txt", OpenMode.Output)
    PrintLine(i, TextBox1.Text)
    FileClose(i)

  • Menambahkan Teks ke File
    Dim i As Integer = FreeFile()
    FileOpen(i, "D:\contoh.txt", OpenMode.Append)
    PrintLine(i, TextBox1.Text)
    FileClose(i)

Label: , , ,

Mencetak String / Teks

Kode ini akan menunjukkan bagaimana mencetak variabel berjenis string / teks maupun properti string dari suatu kontrol, semisal properti Text dari kontrol TextBox.
Printer.Print "string yang akan dicetak"
Printer.EndDoc

Anda juga dapat melakukan kustomisasi terhadap string yang akan dicetak, contohnya seperti berikut: Tambahkan satu kontrol CommonDialog(CancelError=True) dan satu CommandButton. Ketikkan kode dibawah ini di bagian  'Command1_Click'.
On Error GoTo Ero
Dim s As String
CommonDialog1.ShowPrinter

'pengaturan
Printer.Copies = CommonDialog1.Copies
Printer.Orientation = CommonDialog1.Orientation

'memberikan judul diatas kertas
s = "Judul Dokumen"
Printer.CurrentX = Printer.ScaleWidth / 2 - (Printer.TextWidth(s) / 2) 'posisi tengah
Printer.Print s

'tanggal
s = "Dicetak : " & Now
Printer.CurrentX = Printer.ScaleWidth - Printer.TextWidth(s) 'posisi kanan
Printer.Print s

'isi
Printer.CurrentX = 0 'mengembalikan ke posisi pinggir kiri
Printer.Print "Tuliskan isi dari dokumen"
Printer.Print "Tuliskan isi dari dokumen"

'halaman
s = "Halaman " & Printer.Page
Printer.CurrentX = Printer.ScaleWidth - Printer.TextWidth(s) 'posisi kanan
Printer.CurrentY = Printer.ScaleHeight - Printer.TextHeight(s) 'posisi bawah
Printer.Print s

Printer.NewPage 'membuat halamam baru
'isi
Printer.CurrentX = 0 'mengembalikan ke posisi pinggir kiri
Printer.Print "Tuliskan isi dari dokumen"
Printer.Print "Tuliskan isi dari dokumen"

'halaman
s = "Halaman " & Printer.Page
Printer.CurrentX = Printer.ScaleWidth - Printer.TextWidth(s) 'posisi kanan
Printer.CurrentY = Printer.ScaleHeight - Printer.TextHeight(s) 'posisi bawah
Printer.Print s

Printer.EndDoc 'mengakhiri dokumen (wajib)
Ero:

Label: , ,