Option Explicit
Private Declare Function BlockInput Lib "user32" (ByVal fBlock As Long) As Long
Private Sub Command1_Click()
Timer1.Enabled = True
BlockInput True
End Sub
'Gunakan kode di bawah, agar komputer Anda tidak usah di restart
Private Sub Form_Load()
Timer1.Interval = 1000 '1 detik
Timer1.Enabled = False
End Sub
'Timer1.Interval = 1000 '1 detik
Private Sub Timer1_Timer()
Static i As Integer
i = i + 1
If i > 5 Then 'tunggu 5 detik
BlockInput False 'aktifkan kembali keyboard dan mouse
i = 0
End If
End Sub
Friday, June 8, 2012
Menonaktifkan Keyboard dan Mouse - BlockInput
Mouse Properties Dialog, Bagaimana Cara Menampilkannya?
Di bawah merupakan kode untuk menampilkan mouse properties dialog menggunakan VB6 (Visual Basic 6) - Bagaimana menampilkan mouse properties dialog ini, bisa Anda lihat di bawah:
READ MORE - Mouse Properties Dialog, Bagaimana Cara Menampilkannya?
Option Explicit
Private Sub Command1_Click()
Dim dblReturn As Double
dblReturn = Shell("rundll32.exe shell32.dll,Control_RunDLL main.cpl @0", 5)
End Sub
Cara Menampilkan Dialog Properties KeyBoard Menggunakan VB6
Berikut merupakan VB6 kode untuk menampilkan kotak dialog properties keyboard:
READ MORE - Cara Menampilkan Dialog Properties KeyBoard Menggunakan VB6
Option Explicit
Private Sub Command1_Click()
Dim dblReturn As Double
dblReturn = Shell("rundll32.exe shell32.dll,Control_RunDLL main.cpl @1", 5)
End Sub
Labels:
Windows
Mengubah Format DOS 8.3 menjadi Long Filename
Mengubah format DOS 8.3 menjadi long filename, contohnya: G:\PROJEC~1\BILLIN~1\BILLIN~1\Client\CLIENT~1.EXE menjadi: G:\Project-ku\Billing Warnet\Billing Warnet\Client\Client Cafe.exe. Nah bagaimana kode konversi format DOS 8.3 ini, bisa Anda perhatikan di bawah:
READ MORE - Mengubah Format DOS 8.3 menjadi Long Filename
Option ExplicitContoh penggunaan kode di atas:
Private Declare Function GetLongPathName Lib "kernel32" Alias "GetLongPathNameA" (ByVal lpszShortPath As String, ByVal lpszLongPath As String, ByVal cchBuffer As Long) As Long
Public Function GetLongPath(ByVal Filename As String) As String
On Error Resume Next
Dim length As Long
Dim s As String
s = String$(MAX_PATH, 0)
length = GetLongPathName(Filename, s, Len(s))
If (length And Err = 0) Then GetLongPath = Left$(s, length)
End Function
Private Sub Command1_Click()
MsgBox GetLongPath("G:\PROJEC~1\BILLIN~1\BILLIN~1\Client\CLIENT~1.EXE")
End Sub
Labels:
File-And-Folder
GetShortPathName - Mengubah Filename Menjadi DOS 8.3 Format
Di bawah ini merupakan kode untuk mengubah nama file menjadi format DOS 8.3 - Contoh: G:\Project-ku\Billing Warnet\Billing Warnet\Client\Client Cafe.exe menjadi: G:\PROJEC~1\BILLIN~1\BILLIN~1\Client\CLIENT~1.EXE. Bagaimana kode mengenai cara mengubah filename menjadi DOS 8.3, bisa Anda lihat di bawah:
READ MORE - GetShortPathName - Mengubah Filename Menjadi DOS 8.3 Format
Option ExplicitContoh penggunaan kode di atas:
Private Declare Function GetShortPathName Lib "kernel32" Alias "GetShortPathNameA" (ByVal lpszLongPath As String, ByVal lpszShortPath As String, ByVal cchBuffer As Long) As Long
Const MAX_PATH = 260
Public Function GetShortPath(ByVal Filename As String) As String
Dim length As Long
GetShortPath = Space(1024)
length = GetShortPathName(Filename, GetShortPath, Len(GetShortPath))
GetShortPath = Left(GetShortPath, length)
End Function
Private Sub Command1_Click()
MsgBox GetShortPath("G:\Project-ku\Billing Warnet\Billing Warnet\Client\Client Cafe.exe")
End Sub
Labels:
File-And-Folder
Notify Form Dengan Effect Transparent Hover
Menjelaskan mengenai cara membuat notify form yang menggunakan effect transparent hover - Apa yang dimaksud dengan notify form itu? notify form adalah form yang bertugas memberitahukan sesuatu kepada user, umumnya notify form muncul sebelah kanan bagian bawah. Beberapa software yang menggunakan notify form diantaranya: Mozilla Firefox, Orbit Downloader, IDM, Avira, software-software Anti Virus, dan banyak lagi. Untuk membuat notify form, khususnya yang memiliki effect transparent hover (terinspirasi dari software notepad++ pada dialog findnya), copy dan pastekan kode di bawah ini:
READ MORE - Notify Form Dengan Effect Transparent Hover
'----------------------------------------------------------------------------------------------------------
'http://khoiriyyah.blogspot.com
'coder: Administrator
'----------------------------------------------------------------------------------------------------------
Option Explicit
Dim blnHighlighted As Boolean
Dim blnMouseDownClick As Boolean 'bug fixed on flickering
Private Type POINTAPI
X As Long
Y As Long
End Type
Private Declare Function ScreenToClient Lib "user32" (ByVal hwnd As Long, lpPoint As POINTAPI) As Long
Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
Private Declare Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long
Private Declare Sub InitCommonControls Lib "COMCTL32.DLL" ()
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function SetLayeredWindowAttributes Lib "user32" (ByVal hwnd As Long, ByVal color As Long, ByVal X As Byte, ByVal alpha As Long) As Boolean
Const LWA_BOTH = 3
Const LWA_ALPHA = 2
Const LWA_COLORKEY = 1
Const GWL_EXSTYLE = -20
Const WS_EX_LAYERED = &H80000
Dim iTransparant As Integer
Dim blnUp As Boolean
Private Sub Form_Initialize()
InitCommonControls
End Sub
Private Sub MakeTransparan(hWndBro As Long, iTransp As Integer)
On Error Resume Next
Dim ret As Long
ret = GetWindowLong(hWndBro, GWL_EXSTYLE)
SetWindowLong hWndBro, GWL_EXSTYLE, ret Or WS_EX_LAYERED
SetLayeredWindowAttributes hWndBro, RGB(255, 255, 0), iTransp, LWA_ALPHA
Exit Sub
End Sub
Private Sub cmdOK_Click()
'Kode selanjutnya disini ....
blnUp = False
tmrNotify.Enabled = True
End Sub
Private Sub cmdCancel_Click()
'kode selanjutnya disini ....
blnUp = False
tmrNotify.Enabled = True
End Sub
Private Sub Form_Load()
MakeTransparan Me.hwnd, 100
Top = ((GetSystemMetrics(17) + GetSystemMetrics(4)) * Screen.TwipsPerPixelY)
Left = (GetSystemMetrics(16) * Screen.TwipsPerPixelX) - Width
blnUp = True
End Sub
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
blnMouseDownClick = True
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If blnHighlighted Then Exit Sub
blnHighlighted = True
tmrSemiTransparent.Enabled = True
MakeTransparan Me.hwnd, 255
End Sub
Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
blnMouseDownClick = False
End Sub
Private Sub tmrSemiTransparent_Timer()
If blnMouseDownClick Then Exit Sub
Dim pt As POINTAPI
GetCursorPos pt
ScreenToClient hwnd, pt
If (pt.X < 0 Or pt.Y < 0) Or _
(pt.X > (Me.ScaleLeft + Me.ScaleWidth) / Screen.TwipsPerPixelX) Or _
(pt.Y > (Me.ScaleTop + Me.ScaleHeight) / Screen.TwipsPerPixelY) Then
blnHighlighted = False
tmrSemiTransparent.Enabled = False
MakeTransparan Me.hwnd, 100
End If
End Sub
Private Sub tmrNotify_Timer()
Const s = 100
Dim v As Single
v = (GetSystemMetrics(17) + GetSystemMetrics(4)) * Screen.TwipsPerPixelY
If blnUp = True Then
If Top - s <= v - Height Then
Top = Top - (Top - (v - Height))
tmrNotify.Enabled = False
Else
Top = Top - s
End If
Else
Top = Top + s
If Top >= v Then End
End If
End Sub
Labels:
Animation
Memeriksa Apakah Pointer Mouse Masuk Di atas Sebuah Objek
Menjelaskan mengenai cara untuk memeriksa apakah pointer/cursor mouse berada di atas sebuah objek - Terkadang kita memerlukan sebuah kode untuk memeriksa apakah cursor atau pointer berada di atas sebuah objek, misalnya untuk keperluan hover, dsb. Untuk kasus objek yang memiliki property .hwnd hal tersebut mudah sekali dilakukan yaitu dengan memanggil fungsi
Di bawah ini merupakan module untuk memeriksa apakah pointer atau cursor berada di atas sebuah objek, untuk mengujinya sediakan 1 Timer dengan property
READ MORE - Memeriksa Apakah Pointer Mouse Masuk Di atas Sebuah Objek
API SetCapture dan ReleaseCapture, tapi bagaimana jika objek tersebut tidak memiliki property .hwnd, misalnya objek label atau image?Di bawah ini merupakan module untuk memeriksa apakah pointer atau cursor berada di atas sebuah objek, untuk mengujinya sediakan 1 Timer dengan property
Name = tmrInBox, kemudian 1 PictureBox dengan properpty Name = Picture1 (default).'simpan kode di bawah pada sebuah module
Option Explicit
Private Declare Function ScreenToClient Lib "user32" (ByVal hwnd As Long, lpPoint As POINTAPI) As Long
Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
Private Type POINTAPI
x As Long
y As Long
End Type
Public Function InBox(ctl As Control) As Boolean
Dim pt As POINTAPI
GetCursorPos pt
ScreenToClient ctl.Parent.hwnd, pt
InBox = Not (pt.x < ctl.Left Or pt.y < ctl.Top Or pt.x > ctl.Left + ctl.Width Or pt.y > ctl.Top + ctl.Height)
End Function
'simpan kode di bawah pada form
Option Explicit
Dim blnFlag As Boolean
Private Sub Form_Load()
Form1.ScaleMode = vbPixels 'pixels units
tmrInBox.Interval = 10 'or 1 if posible
End Sub
Private Sub tmrInBox_Timer()
If Not InBox(Picture1) Then
blnFlag = False
tmrInBox.Enabled = False
Picture1.BackColor = vbBlack
End If
End Sub
Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
If blnFlag Then Exit Sub
blnFlag = True
tmrInBox.Enabled = True
Picture1.BackColor = vbWhite
End Sub
Labels:
Mouse
Mengenai cara menampilkan kotak dialog About
Mengenai cara menampilkan kotak dialog About default windows menggunakan Visual Basic 6 - Apabila kita malas membuat tampilan kotak dialog About, mungkin kode di bawah adalah alternatif yang tepat, selain itu ia memiliki tampilan (GUI) yang menarik, adapun cara menampilkan kotak dialog about default windows adalah sebagai berikut:
READ MORE - Mengenai cara menampilkan kotak dialog About
'simpan kode di bawah ini pada moduleContoh penggunaan kode untuk menampilkan kotak dialog about:
Option Explicit
Public Declare Function ShellAbout Lib "shell32.dll" Alias "ShellAboutA" (ByVal hwnd As Long, ByVal szApp As String, ByVal szOtherStuff As String, ByVal hIcon As Long) As Long
Public Sub ShowAboutDialog(hwnd As Long, Caption As String, Txt As String, Icon As Long)
Call ShellAbout(hwnd, Caption, Txt, Icon)
End Sub
'simpan kode di bawah ini dalam module
Option Explicit
Private Sub cmdAbout_Click()
ShowAboutDialog Me.hwnd, "About My-Sofware", "Software Versi ke-1", Me.Icon
End Sub
Labels:
Windows
Membuat HyperLink Label Menggunakan Visual Basic 6
Mengenai cara membuat link label atau hyperlink label menggunakan VB6 - Link label atau hyperlink label merupakan label yang apabila diklik akan membuka browser dengan alamat website atau blog yang kita miliki. Bagaimana kode mengenai hiperlink label ini, berikut merupakan kode untuk membuat link label atau hyperlink label menggunakan Visual Basic 6:
READ MORE - Membuat HyperLink Label Menggunakan Visual Basic 6
'simpan kode ini pada module, atau satukan dengan form, jika ingin disatukan dengan formcontoh penggunaan fungsi API di atas:
'gantilah Public menjadi Private
Option Explicit
Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Public Const SW_SHOW = 5
'simpan kode ini pada formDemikianlah mengenai cara pembuatan hyperlink label atau link label menggunakan Visual Basic 6. Selamat mencoba.
'gantilah label caption dengan alamat blog atau website
Private Sub Label1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
ShellExecute hwnd, "open", "http://khoiriyyah.blogspot.com", vbNullString, vbNullString, SW_SHOW
End Sub
Cara Mengatasi Aplikasi Crash Akibat OCX Third Party
Bagaimana kita dapat mengatasi aplikasi yang menjadi crash pada saat keluar (exit) dari program akibat dari ocx yang dibuat oleh pihak ketiga (third party)? Penggunaan ocx yang kurang stabil (pada aplikasi yang telah dicompile/dijadikan exe), seringkali menyebabkan crash yaitu pada saat keluar dari aplikasi tersebut. Kondisi ini tentu saja sangat mengganggu, karena aplikasi, tidak akan pernah menjalankan kode-kode yang berada pada event Unload atau QueryUnload, seperti kode untuk mengatur settingan pada registry, settingan pada file .ini, dsb. Bagaimana cara mengatasi keadaan tersebut? ikuti langkah-langkah berikut:
READ MORE - Cara Mengatasi Aplikasi Crash Akibat OCX Third Party
- Tambahkan satu CommonDialog biarkan dengan nama default CommondDialog1
- Tambahkan satu UserControl biarkan dengan nama default UserControl1
- Biarkan CommonDialog dan UserControl tersebut tanpa ditambahkan kode.
Labels:
Article
Tips Menempatkan CommonDialog Pada Posisi Yang Diinginkan
Posting mengenai cara mudah menempatkan CommonDialog pada koordinat yang diinginkan - Dari beberapa common dialog yang terdapat pada COMDLG32.OCX, ada beberapa common dialog yang sulit untuk diatur posisinya, dalam arti ia selalu tampil pada sisi kiri bagian atas, mengapa demikian? karena sebelum tampil ia (COMDLG32.OCX) membaca terlebih dahulu koordinat yang diperoleh dari hwnd parentnya. Nah, untuk memposisikan commondialog pada saat tampil, ikuti langkah-langkah berikut:
READ MORE - Tips Menempatkan CommonDialog Pada Posisi Yang Diinginkan
- Pada form tambahkan satu PictureBox jadikan property
visible = false - Samakan ukurannya dengan COMDLG32.OCX (agar tidak menghabiskan space).
- Masukan COMDLG32.OCX pada PictureBox tadi
- Aturlah posisi PictureBox tadi pada koordinat tertentu
'kode di bawah simpan pada formSelanjutnya jadikan property form
'tambahkan CommandButton dengan nama default Command1
'tambahkan CommonDialog dengan nama default CommonDialog1
Option Explicit
Private Sub Command1_Click()
CommonDialog1.ShowColor
End Sub
WindowState = 2 - Maximize, bandingkan hasilnya sebelum dan sesudah menggunakan PictureBox. Demikian mengenai cara menempatkan CommonDialog pada posisi yang diinginkan. Semoga bermanfaat.
Labels:
Article
Cara Membuat Prosedure Generator Nama Secara Acak (Random)
Fungsi untuk membuat nama secara random (acak) - Di bawah ini merupakan prosedur yang digunakan untuk membuat nama secara acak, fungsi ini memiliki satu parameter untuk mengatur jumlah huruf yang akan digenerate, sedangkan nilai defaultnya adalah 4 huruf. Bagaimana fungsi generator nama secara acak atau random, bisa Anda lihat di bawah ini:
READ MORE - Cara Membuat Prosedure Generator Nama Secara Acak (Random)
Option ExplicitContoh penggunaan fungsi di atas:
Private Function NamaAcak(Optional k As Integer = 4) As String
Dim s(1) As String, l As String
Randomize
s(0) = ("aiueo")
s(1) = ("bcdfghjklmnpqrstvwxyz")
For i = 1 To k
l = l & Mid(s(i Mod 2), Int((4 * Rnd) + 1), 1)
Next
NamaAcak = l
End Function
Private Sub Command1_Click()Apakah kegunaan dari generator nama secara acak/random ini? saya juga tidak tahu, mungkin Anda tahu?
MsgBox NamaAcak(10) 'menampilkan nama acak yang memiliki jumlah huruf 10
'sedangkan contoh di bawah akan mengenerate 20 nama acak
'dengan jumlah huruf 10 karakter
Dim i As Integer
List1.Clear
For i = 1 To 20
List1.AddItem NamaAcak(6)
Next
End Sub
Labels:
Misc-VB6
,
String-Manipulation
Spoiler Kode Seperti Yang Terdapat pada Spoiler Wikipedia?
Mengenai cara membuat spoiler seperti yang terdapat pada Wikipedia. Untuk menjalankannya copy dan pastekan kode di bawah ini, selanjutnya gantilah Spoiler Title: dan Text Spoiler.
Selain menggunakan untuk text spoiler juga bisa digunakan untuk menampilkan dan menyembunyikan gambar.
READ MORE - Spoiler Kode Seperti Yang Terdapat pada Spoiler Wikipedia?
<div style="padding: 10px; border:1px solid #ccc;background:#f9f9f9"><div style="margin-bottom: 0px;font-family: arial;font-size:12px;"><b>Spoiler Title:</b><input value="Show" style="border:0px solid #000;margin:0px;color:#0000FF;font-family: arial; font-size: 12px; height:16; background:#f9f9f9" onclick="if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '') { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = ''; this.innerText = ''; this.value = 'Hide'; } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerText = ''; this.value = 'Show'; }" type="button"> </div><div style="margin: 0 10px 0px 10px; padding: 0px; border: 0px inset #fff;"><div style='display:none'><br/>Text Spoiler</div></div></div>Demo spoiler code ala Wikipedia:
Enhanced Pair-Bi:
'simpan kode di bawah pada Form Option Explicit 'buatlah satu project dengan 1 Form, 1 CommandButton, 1 TextBox Private Sub Command1_Click() Dim g As String Dim i As Integer Dim s() As String Dim x As String g = Text1.Text g = RemoveEndCrlf(g) If Trim(g) = "" Then Exit Sub If InStr(1, g, "<b></b>") > 0 Then g = Replace(g, "<b></b>", "") Text1.Text = RemoveEndCrlf(g) Exit Sub Else s = Split(g, vbCrLf) For i = 0 To UBound(s) x = x & "<b></b>" & s(i) & vbCrLf Next End If Text1.Text = RemoveEndCrlf(x) End Sub 'fungsi di bawah digunakan untuk menghilangkan karakter CRLF 'yang terdapat pada akhir kode Private Function RemoveEndCrlf(s As String) Dim str As String str = s If Right(str, 2) = vbCrLf Then Do While Right(str, 2) = vbCrLf str = Left(str, Len(str) - 2) Loop End If RemoveEndCrlf = str End Function
Catatan Penting: kode-kode HTML/XML yang akan dijalankan (bukan tulisan [ seperti kode spoiler di atas]) harus dibuat satu baris, mengapa demikian?
Labels:
Blogger
VB6 Code - Mengambil URL Dari Address Bar IE
Mengenai cara mengambil URL dari adress bar yang terdapat pada IE menggunakan fungsi API, dengan melakukan spy terhadap HWND induk dan turunannya. Selain dengan API di bawah ini, kita pun bisa mengambil URL yang terdapat pada adress bar IE atau Firefox dengan menggunakan DDE.
READ MORE - VB6 Code - Mengambil URL Dari Address Bar IE
Option Explicit
Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
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 Const WM_GETTEXT = &HD
Private Const WM_GETTEXTLENGTH = &HE
Private Sub FindIt(ByVal sClassName As String)
On Error GoTo CallErrorA
lhWnd = FindWindowEx(lhWnd, 0, sClassName, vbNullString)
End Sub
Private Function GetAddressText() As String
On Error GoTo CallErrorA
Dim usText() As Byte
Dim iPos As Integer
lhWnd = 0
Call FindIt("IEFrame")
Call FindIt("WorkerA")
Call FindIt("ReBarWindow32")
Call FindIt("ComboBoxEx32")
Call FindIt("ComboBox")
Call FindIt("Edit")
ReDim usText(0 To SendMessage(lhWnd, WM_GETTEXTLENGTH, 0, ByVal 0&) + 1)
If UBound(usText) = 1 Then
GetAddressText = ""
Else
usText(0) = UBound(usText) And 255
usText(1) = UBound(usText) 256
Call SendMessage(lhWnd, WM_GETTEXT, UBound(usText), usText(0))
GetAddressText = StrConv(usText, vbUnicode)
iPos = InStr(GetAddressText, vbNullChar)
If iPos > 0 Then GetAddressText = Left(GetAddressText, iPos - 1)
End If
End Function
Labels:
Internet
Cara Membuat Direktori lebih dari 1 level - (Pengelolaan Fil
Fungsi yang menjelaskan mengenai cara membuat direktori lebih dari satu level, 2, 3 dan seterusnya - Mengenai kode membuat direktori lebih dari 1 level bisa Anda lihat di bawah ini:
READ MORE - Cara Membuat Direktori lebih dari 1 level - (Pengelolaan Fil
Option Explicit
Private Function CreateDir(strDir As String) As Boolean
On Error Resume Next
Dim s() As String
s = Split(strDir, "\")
Dim i As Integer
For i = 1 To UBound(s)
s(0) = s(0) & "\" & s(i)
MkDir s(0)
Next
End Function
'contoh penggunaan fungsi di atas
Private Sub Command1_Click()
CreateDir "C:\test1\test2\test3\test4 dan test5\test6\test7 dan test8"
End Sub
Labels:
File-And-Folder
Memahami Drag and Drop Dalam Visual Basic 6
Posting mengenai contoh operasi Drag and Drop menggunakan OLE pada VB6, Sebelum Anda mencoba kode drag and drop di bawah ini, settinglah property objek Picture1
READ MORE - Memahami Drag and Drop Dalam Visual Basic 6
OLEDropMode = 1 - Manual dan Property AutoSize = True. Private Sub Picture1_OLEDragDrop(Data As DataObject, Effect As Long, Button As Integer, Shift As Integer, X As Single, Y As Single)Untuk melihat cara kerjanya, bukalah Windows Explorer draglah satu file gambar yang terdapat pada Windows Explorer tersebut, selanjutnya drop tepat di atas object PictureBox.
On Error GoTo ErrHandler
Picture1.Picture = LoadPicture(Data.Files(1))
Exit Sub
ErrHandler:
MsgBox "Error gambar tidak bisa diload"
End Sub
Labels:
Misc-VB6
,
PictureBox
VB6 Code - Compact And Repair Database MS Access
Di bawah ini merupakan fungsi untuk mengcompact dan merepair database Microsoft Access. Kegunaan Compact And Repair database untuk menghilangkan secara permanen data-data yang terhapus. Bagaimana Fungsi mengenai Compact And Repair Database MS Access.
READ MORE - VB6 Code - Compact And Repair Database MS Access
Option ExplicitContoh penggunaan Compact and Repair Database:
Private Function CompactDB(Filename As String) As Boolean
On Error GoTo ErrHandler
Dim DC As New DBEngine
Screen.MousePointer = vbHourglass
DC.CompactDatabase Filename, App.Path & "\~database.tmp"
Kill Filename
Name App.Path & "\~database.tmp" As Filename
Screen.MousePointer = vbDefault
CompactDB = True
Exit Function
ErrHandler:
CompactDB = False
End Function
Private Sub Command1_Click()
MsgBox CompactDB(App.Path & "\database.mdb") 'true jika database sukses di compact dan repair
End Sub
Labels:
Database
Kode VB untuk Mencetak Sebuah Garis Ke Printer
Di bawah ini merupakan contoh sederhana untuk mencetak sebuah garis ke printer menggunakan Visual Basic 6, diharapkan Anda dapat mengembangkannya lebih lanjut, adapun kode untuk mencetak sebuah garis ke printer adalah sebagai berikut:
READ MORE - Kode VB untuk Mencetak Sebuah Garis Ke Printer
Private Sub PrintLine(LineWidth As Single)Contoh penggunaan kode untuk mencetak garis ke printer:
Printer.Line (0, Printer.CurrentY)-(Printer.ScaleWidth, Printer.CurrentY + LineWidth), , BF
Printer.EndDoc
End Sub
Private Sub Command1_Click()
PrintLine (60) '60 adalah lebar garis
End Sub
Labels:
Printer
Memeriksa Apakah Terdapat Printer Yang Terinstall - Visual B
Di bawah ini merupakan kode untuk memeriksa apakah komputer memiliki printer yang terinstall menggunakan Visual Basic 6, Adapun kode untuk memeriksa printer yang terinstall dalam komputer sebagai berikut:
READ MORE - Memeriksa Apakah Terdapat Printer Yang Terinstall - Visual B
Public Function IsPrinterInstalled() As BooleanAtau Anda pun dapat merubah juga kode di atas (agar lebih simple) seperti di bawah ini (hasilnya akan sama):
If VB.Printers.Count <= 0 Then
IsPrinterInstalled = False
Exit Sub
Else
IsPrinterInstalled = True
End If
End Function
Public Function IsPrinterInstalled() As Boolean
IsPrinterInstalled = (VB.Printers.Count > 0)
End Function
Labels:
Printer
Menentukan Objek Font Yang Dikirimkan Ke Printer
Contoh sederhana untuk menentukan name, underline, bold, italic, size (properties objek font) yang dikirimkan ke sebuah printer. Adapun contohnya sebagai berikut:
READ MORE - Menentukan Objek Font Yang Dikirimkan Ke Printer
Private Sub Command1_Click()
With Printer
.FontName = "Arial"
.FontUnderline = False
.FontBold = False
.FontItalic = True
.FontSize = "30"
.Print "Ini contoh objek font dalam printer"
.EndDoc
End With
End Sub
Membuat About Box Dengan Memanfaatkan Default Windows
Mengenai cara menampilkan kotak dialog About default windows menggunakan Visual Basic 6 - Apabila kita malas membuat tampilan kotak dialog About, mungkin kode di bawah adalah alternatif yang tepat, selain itu ia memiliki tampilan (GUI) yang menarik, adapun cara menampilkan kotak dialog about default windows adalah sebagai berikut:
READ MORE - Membuat About Box Dengan Memanfaatkan Default Windows
'simpan kode di bawah ini dalam moduleContoh penggunaan kode untuk menampilkan kotak dialog about:
Option Explicit
Public Declare Function ShellAbout Lib "shell32.dll" Alias "ShellAboutA" (ByVal hwnd As Long, ByVal szApp As String, ByVal szOtherStuff As String, ByVal hIcon As Long) As Long
Public Sub ShowAboutDialog(hwnd As Long, Caption As String, Txt As String, Icon As Long)
Call ShellAbout(hwnd, Caption, Txt, Icon)
End Sub
Private Sub cmdAbout_Click()
ShowAboutDialog Me.hwnd, "About My-Sofware", "Software Versi ke-1", Me.Icon
End Sub
Labels:
Windows
Animasi Copy Seperti Di Windows Explorer
Option Explicit
Private Const FO_COPY = &H2&
Private Const FO_DELETE = &H3&
Private Const FO_MOVE = &H1&
Private Const FO_RENAME = &H4&
Private Const FOF_ALLOWUNDO = &H40&
Private Const FOF_CONFIRMMOUSE = &H2&
Private Const FOF_CREATEPROGRESSDLG = &H0&
Private Const FOF_FILESONLY = &H80&
Private Const FOF_MULTIDESTFILES = &H1&
Private Const FOF_NOCONFIRMATION = &H10&
Private Const FOF_NOCONFIRMMKDIR = &H200&
Private Const FOF_RENAMEONCOLLISION = &H8&
Private Const FOF_SILENT = &H4&
Private Const FOF_SIMPLEPROGRESS = &H100&
Private Const FOF_WANTMAPPINGHANDLE = &H20&
Private Type SHFILEOPSTRUCT
hwnd As Long
wFunc As Long
pFrom As String
pTo As String
fFlags As Integer
fAnyOperationsAborted As Long
hNameMappings As Long
lpszProgressTitle As String
End Type
Private Declare Sub CopyMemory Lib "KERNEL32" Alias "RtlMoveMemory" (hpvDest As Any, hpvSource As Any, ByVal cbCopy As Long)
Private Declare Function SHFileOperation Lib "Shell32.dll" Alias "SHFileOperationA" (lpFileOp As Any) As Long
Private Sub cmdCopy_Click()
Dim result As Long
Dim lenFileop As Long
Dim foBuf() As Byte
Dim fileop As SHFILEOPSTRUCT
lenFileop = LenB(fileop)
ReDim foBuf(1 To lenFileop)
With fileop
.hwnd = Me.hwnd
.wFunc = FO_COPY
.pFrom = App.Path & "\readme.html" & vbNullChar & App.Path & "\readme.doc" & vbNullChar & App.Path & "\readme.txt" & vbNullChar & vbNullChar
.pTo = "C:\"
.fFlags = FOF_CREATEPROGRESSDLG
.lpszProgressTitle = "VB HowTo Copy Example " & vbNullChar & vbNullChar
End With
Call CopyMemory(foBuf(1), fileop, lenFileop)
Call CopyMemory(foBuf(19), foBuf(21), 12)
result = SHFileOperation(foBuf(1))
If result <> 0 Then
MsgBox Err.LastDllError
Else
If fileop.fAnyOperationsAborted <> 0 Then
MsgBox "Operation Failed"
End If
End If
End Sub
Memutarkan huruf pada watermark, bagaimana caranya?
Mengenai cara memutarkan atau merotasi font pada watermark menggunakan VB6 (belajar Visual Basic 6 untuk pemula) - Posting ini merupakan kelanjutan dari posting yang telah ditulis terdahulu. Disini kita akan menambahkan beberapa kemampuan pada project watermark yang sedang kita buat. Perhatikan kode di bawah ini:
READ MORE - Memutarkan huruf pada watermark, bagaimana caranya?
'---------------------------------------------------------------------------------------
' http://khoiriyyah.blogspot.com
' coder: Administrator
'---------------------------------------------------------------------------------------
Option Explicit
Private Declare Sub InitCommonControls Lib "comctl32.dll" ()
Dim intCurrentX As Integer 'variabel untuk menyimpan koordinat X
Dim intCurrentY As Integer 'variabel untuk menyimpan koordinat Y
Private Sub Command1_Click()
'memanggil prosedur RotateFont
RotateFont Picture1, Val(txtSize), txtFontName, intCurrentX, intCurrentY, Val(txtDegree), txtWatermark
'menyimpan hasil gambar yang telah diberi teks
SavePicture Picture1.Image, App.Path & "\watermark_sample.bmp" 'and save Exit Sub
End Sub
Private Sub Form_Initialize()
InitCommonControls 'XP style
End Sub
Private Sub Picture1_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)
Label3 = "X: " & x 'menampilkan koordinat X ke dalam label
Label4 = "Y: " & y 'menampilkan koordinat Y ke dalam label
intCurrentX = x 'simpan koordinat x dalam variabel intCurrentX
intCurrentY = y 'simpan koordinat y dalam variabel intCurrentY
WaterMarkIt 'panggil prosedur WaterMarkIt
End Sub
Private Sub txtDegree_Change()
'apabila bukan angka, jadikan txtDegree.Text = 90
If Not IsNumeric(txtDegree.Text) Then txtDegree.Text = "90"
End Sub
Private Sub VScroll1_Scroll()
'panggil prosedur WaterMarkIt pada saat terjadi Scroll
WaterMarkIt
End Sub
Private Sub VScroll1_Change()
'panggil prosedur WaterMarkIt pada saat terjadi perubahan nilai
WaterMarkIt
End Sub
Private Sub VScroll2_Change()
WaterMarkIt 'panggil prosedur WaterMarkIt
End Sub
Private Sub VScroll2_Scroll()
WaterMarkIt 'panggil prosedur WaterMarkIt
End Sub
'--------------------------------------------------------------------
' Prosedur WaterMarkIt
'--------------------------------------------------------------------
Private Sub WaterMarkIt()
Command1_Click 'panggil Command1_Click (Rotasi dan simpan image)
txtDegree.Text = VScroll1.Value 'txtDegree berdasarkan nilai VScroll1
txtSize.Text = VScroll2.Value 'txtSize berdasarkan nilai VScroll2
End Sub
Membuat Spoiler Pada Blog di Blogspot
Menjelaskan cara membuat spoiler pada blog khususnya di blogspot/blogger - Untuk membuat spoiler pada blog copy dan pastekan kode di bawah ini:
Rubahlah judul dan text spoilernya untuk disesuaikan dengan kebutuhan.
READ MORE - Membuat Spoiler Pada Blog di Blogspot
<div style="margin: 5px 10px 10px;"> <div class="smallfont" style="margin-bottom: 1px;"> <b> <strong>Judul</strong> </b> <br /> <input onclick="if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '') { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = ''; this.innerText = ''; this.value = 'Hide'; } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerText = ''; this.value = 'Show'; }" style="font-size: 10px; margin: 0px; padding: 0px; width: 70px;" type="button" value="Show" /> </div> <br /> <div class="alt2" style="border: 1px inset; margin: 0px; padding: 6px;"> <div style="display: none;"> <strong>Text spoiler yang akan ditampilkan</strong> </div> </div> </div>Maka dari kode di atas, hasil yang ditampilkan adalah seperti di bawah ini: Judul
Text spoiler yang akan ditampilkan
Rubahlah judul dan text spoilernya untuk disesuaikan dengan kebutuhan.
Catatan: Kode di atas harus di buat satu baris.
Labels:
Blogger
Rotasi Font Menggunakan Visual Basic 6.0
Modul untuk memutarkan atau merotasi font berdasarkan derajat tertentu serta koordinat tertentu menggunakan VB6 - Bagaimana kode serta contoh penggunaannya, bisa Anda lihat di bawah ini:
READ MORE - Rotasi Font Menggunakan Visual Basic 6.0
Option ExplicitModul di atas memiliki 7 parameter, Adapun contoh penggunaannya sebagai berikut:
Public Type LOGFONT
lfHeight As Long
lfWidth As Long
lfEscapement As Long
lfOrientation As Long
lfWeight As Long
lfItalic As Byte
lfUnderline As Byte
lfStrikeOut As Byte
lfCharSet As Byte
lfOutPrecision As Byte
lfClipPrecision As Byte
lfQuality As Byte
lfPitchAndFamily As Byte
lfFacename As String * 33
End Type
Public Declare Function CreateFontIndirect Lib "gdi32" Alias "CreateFontIndirectA" (lpLogFont As LOGFONT) As Long
Public Declare Function SelectObject Lib "gdi32" (ByVal hdc As Long, ByVal hObject As Long) As Long
Public Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long
Public Sub RotateFont(pic As PictureBox, fontsize As Integer, fontname As String, x As Integer, y As Integer, degree As Integer, txt As String)
On Error GoTo ErrHandler
Dim F As LOGFONT
Dim hPrevFont As Long
Dim hFont As Long
pic.Cls
F.lfEscapement = 10 * Val(degree)
F.lfFacename = fontname
F.lfHeight = (fontsize * -20) / Screen.TwipsPerPixelY
pic.fontname = "Arial Black" + Chr$(0)
hFont = CreateFontIndirect(F)
hPrevFont = SelectObject(pic.hdc, hFont)
pic.CurrentX = x
pic.CurrentY = y
pic.Print txt
hFont = SelectObject(pic.hdc, hPrevFont)
DeleteObject hFont
Exit Sub
ErrHandler:
MsgBox Err.Description
End Sub
Private Sub Command1_Click()
RotateFont Picture1, 12, "Arial", 90, 2500, _
40, "khoiriyyah.blogspot.com"
'Keterangan:
' 1. Picture1 = PictureBox
' 2. 12 = ukuran huruf
' 3. Arial = nama huruf
' 4. 90 = koordinat X
' 5. 2500 = koordinat Y
' 6. 40 = derajat putaran (0 derajat = normal, 90 derajat = tegak lurus)
' 7. khoiriyyah.blogspot.com = text yang dimasukan ke dalam PictureBox
End Sub
Menentukan Titik Koordinat Text Pada Watermark | VB6
Artikel yang menjelaskan cara menempatkan text (watermark) berdasarkan titik koordinat, posting ini merupakan kelanjutan dari posting sebelumnya mengenai dasar-dasar membuat software watermark (Belajar Visual Basic 6 untuk pemula melalui praktik). Selanjutnya agar text watermark dapat ditempatkan sesuai keinginan, maka kita harus menentukan titik koordinatnya terlebih dahulu. Adapun kode lengkap untuk menentukan titik koordinat text watermark adalah sebagai berikut:
READ MORE - Menentukan Titik Koordinat Text Pada Watermark | VB6
'--------------------------------------------------------------------------------------- ' http://khoiriyyah.blogspot.com ' coder: Administrator '--------------------------------------------------------------------------------------- Option Explicit Dim intCurrentX As Integer 'variabel untuk menyimpan koordinat X Dim intCurrentY As Integer 'variabel untuk menyimpan koordinat Y Private Sub Command1_Click() Picture1.Cls 'bersihkan Picture1 dari seluruh text Picture1.CurrentX = intCurrentX 'ambil nilai X dari variabel di atas Picture1.CurrentY = intCurrentY 'ambil nilai Y dari variabel di atas Picture1.Print "http://khoiriyyah.blogspot.com" 'beri watermark! SavePicture Picture1.Image, App.Path & "\watermark_sample.bmp" 'jadikan file dan simpan. End Sub Private Sub Picture1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) intCurrentX = X 'masukan nilai X pada variabel berdasarkan koordinat klik mouse intCurrentY = Y 'masukan nilai Y pada variabel berdasarkan koordinat klik mouse End SubDengan menggunakan kode di atas, maka kita dapat menentukan titik koordinat text watermark seperti pada gambar berikut:
Labels:
Graphic
Menonaktifkan/Disable Task Manager Menggunakan VB6
Posting yang menjelaskan mengenai cara menonaktifkan task manager melalui kode Visual Basic 6.0 - Mendisable atau menonaktifkan task manager terkadang diperlukan untuk pembuatan aplikasi-aplikasi tertentu sebut saja billing warnet. Umumnya kode yang digunakan untuk menonaktifkan task manager dengan mengubah nilai registry, namun berbeda dengan kode di bawah ini yang mendisable task manager tanpa mengubah nilai registry. Bagaimana implementasi kode untuk mendisable task manager, bisa Anda lihat di bawah ini:
READ MORE - Menonaktifkan/Disable Task Manager Menggunakan VB6
'simpan kode di bawah pada moduleContoh penggunaan kode di atas:
Option Explicit
Private Declare Function Shell_NotifyIcon Lib "shell32" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, pnid As NOTIFYICONDATA) As Boolean
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Type NOTIFYICONDATA
cbSize As Long
hWnd As Long
uId As Long
uFlags As Long
ucallbackMessage As Long
hIcon As Long
szTip As String * 64
End Type
Private Const NIM_DELETE = &H2
Public Function DisableTaskManager()
Dim tskWin As Long, t As NOTIFYICONDATA
Shell "taskmgr.exe", vbHide
Do Until tskWin <> 0
tskWin = FindWindow("#32770", "Windows Task Manager")
Loop
t.hWnd = tskWin
Shell_NotifyIcon NIM_DELETE, t
End Function
Option Explicit 'simpan kode ini pada form
Private Sub Form_Load()
DisableTaskManager
End Sub
VB6 Code - 2 Baris Kode Inti Membuat Software Watermark
Apakah gambar yang diberi watermark itu? mengapa gambar diberi watermark? mengenai hal ini, saya percaya Anda (blogger) lebih tahu jawabannya. Posting kali ini kita akan membahas tentang project VB6 step by step tentang pembuatan software watermark. Dalam membuat software, tentu kita harus dapat membedakan mana yang menjadi kode inti (primer) mana yang menjadi kode tambahan (sekunder). Dengan demikian, maka kita akan dengan mudah mengatur, memelihara, menambah, mengurangi, menghilangkan, mengupdate, software tersebut. Kode inti merupakan kode utama pembentuk software. Sedangkan kode tambahan (sekunder) kode-kode yang melengkapi kode primer tadi, sehingga bisa disebut: plug-ins, add-ons, add-ins, fasilitas, tambahan, pelengkap, penyempurna, dan seluruh kata yang setara dengan itu. Umumnya dengan kode-kode sekunder tadi maka sebuah software akan memiliki versi-versi, versi 1.0, versi 1.0.1, versi 1.0.2 dan seterusnya, lengkap dengan history, bug fixed, kekurangan, serta kelebihannya. Disini saya memiliki contoh yang baik mengenai hal yang telah dijelaskan di atas, yaitu mengenai pembuatan software watermark. Kode intinya hanya 2 baris saja. Berikut kode inti dari software watermark tersebut:
Untuk selanjutnya (To Do):
READ MORE - VB6 Code - 2 Baris Kode Inti Membuat Software Watermark
'--------------------------------------------------------------------------------------- ' http://khoiriyyah.blogspot.com ' coder: Administrator '--------------------------------------------------------------------------------------- Option Explicit Private Sub Command1_Click() Picture1.Print "http://khoiriyyah.blogspot.com" 'watermark! SavePicture Picture1.Image, App.Path & "\watermark_sample.bmp" 'and save End Subdan hasilnya (walaupun harus menggunakan yang lain untuk mengkonversi dari bmp ke jpg):
| contoh gambar yang sudah diberi watermark |
- Mencari/membuat class, module, ocx, dll untuk merubah ke format lain (gif, jpg, jpeg, png, dsb)
- Rotasi huruf
- Memindahkan huruf berdasarkan koordinat
- dsb saja (terlalu banyak untuk dituliskan).
Labels:
Graphic
VB Code - Membuat Sound Beep ala Anti Virus AVIRA
Mengenai cara membuat suara beep seperti yang terdapat pada antivirus Avira menggunakan VB6 Code - Pada saat mendeteksi sebuah virus/malware, biasanya anti virus Avira akan mengeluarkan suara yang khas melalui internal speaker. Nah, di bawah ini merupakan cara membuat sound beep ala Avira dengan memanggil fungsi API Beep yang terdapat pada liblary Kernel32. Cobalah untuk mengkalibrasi frekuensi serta durasinya!
READ MORE - VB Code - Membuat Sound Beep ala Anti Virus AVIRA
Option Explicit
Private Declare Function Beep Lib "kernel32" (ByVal dwFreq As Long, ByVal dwDuration As Long) As Long
Private Sub AvirasBeep()
Beep 1500, 100 'frekuensi 1500khz, durasi 100 milidetik
Beep 2000, 80 'frekuensi 2000khz, durasi 80 milidetik
Beep 3200, 70 'frekuensi 3200khz, durasi 70 milidetik
End Sub
Private Sub Command1_Click()
AvirasBeep
End Sub
VB6 Code - Menghilangkan Tombol Max-Min Pada Saat Runtime
Mengenai cara menghilangkan tombol max dan tombol min yang terdapat pada sebelah kanan atas sebuah form - Seperti yang kita tahu bahwa pada form sebelah kanan bagian atas terdapat 3 tombol, yaitu: tombol max, tombol min, dan tombol close. Nah pada kesempatan kali ini kita akan menyembunyikan seluruh tombol menggunakan fungsi API, adapun kodenya adalah sebagai berikut:
READ MORE - VB6 Code - Menghilangkan Tombol Max-Min Pada Saat Runtime
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Const WS_MINIMIZEBOX = &H20000
Const WS_MAXIMIZEBOX = &H10000
Const GWL_STYLE = (-16)
Const WS_SYSMENU = &H80000
Private Sub Form_Load()
Dim l As Long
l = GetWindowLong(Me.hwnd, GWL_STYLE)
l = (l And Not WS_SYSMENU)
l = SetWindowLong(Me.hwnd, GWL_STYLE, l)
End Sub
Labels:
Form
VB6 Code - Form SDI, Cara Menonaktifkan Tombol Close
Sebelumnya telah diposting mengenai cara mendisable tombol close pada MDI form, nah sekarang mengenai cara menonaktifkan tombol close yang terdapat pada control box SDI form menggunakan VB6 code. Di bawah ini merupakan kode untuk menghilangkan tombol close atau button X yang terdapat pada SDI form.
READ MORE - VB6 Code - Form SDI, Cara Menonaktifkan Tombol Close
Option ExplicitContoh penggunaan kode di atas.
Private Declare Function GetSystemMenu Lib "user32" (ByVal hWnd As Long, ByVal bRevert As Long) As Long
Private Declare Function RemoveMenu Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long
Private Const MF_BYPOSITION = &H400&
Public Sub RemoveButtonX(frm As Form)
Dim hSysMenu As Long
hSysMenu = GetSystemMenu(frm.hWnd, 0)
Call RemoveMenu(hSysMenu, 6, MF_BYPOSITION)
Call RemoveMenu(hSysMenu, 5, MF_BYPOSITION)
End Sub
Option Explicit
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
Cancel = -1 'untuk mendisable Alt + F4 </i>
End Sub
Private Sub Form_Load()
RemoveButtonX Me
End Sub
Labels:
Form
VB6 Code - Disable Button X atau Tombol Close Pada MDI
Kode untuk mendisable button x atau tombol close pada MDI form - Di bawah ini merupakan cara menghilangkan button 'x' atau tombol close pada MDI Form.
READ MORE - VB6 Code - Disable Button X atau Tombol Close Pada MDI
'simpan kode di bawah pada moduleContoh penggunaan kode di atas:
Option Explicit
Private Declare Function DeleteMenu Lib "user32" ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long
Private Declare Function GetSystemMenu Lib "user32" ByVal hwnd As Long, ByVal bRevert As Long) As Long
Private Const MF_BYPOSITION = &H400&
Dim hMenu As Long
Public Sub RemoveMenus(frm As Form, Optional brestore As Boolean, Optional bmove As Boolean, Optional bsize As Boolean, Optional bminimize As Boolean, Optional bmaximize As Boolean, Optional bseperator As Boolean, Optional bclose As Boolean)
hMenu = GetSystemMenu(frm.hwnd, False)
If bclose Then DeleteMenu hMenu, 6, MF_BYPOSITION
If bseperator Then DeleteMenu hMenu, 5, MF_BYPOSITION
If bmaximize Then DeleteMenu hMenu, 4, MF_BYPOSITION
If bminimize Then DeleteMenu hMenu, 3, MF_BYPOSITION
If bsize Then DeleteMenu hMenu, 2, MF_BYPOSITION
If bmove Then DeleteMenu hMenu, 1, MF_BYPOSITION
If brestore Then DeleteMenu hMenu, 0, MF_BYPOSITION
End Sub
'simpan kode di bawah pada MDI Form.
Option Explicit
Private Sub MDIForm_Load()
'nilai true untuk remove, sesuaikan kodenya!
RemoveMenus Me, , , , , , True, True
End Sub
Labels:
Form
VB6 Code - Cara Menampilkan ToolTipText Pada ListBox
Mengenai cara menampilkan ToolTipText pada saat pointer mouse bergerak di atas ListItem ListBox menggunakan VB6 Code. Adapun cara menampilkan ToolTipText pada ListBox adalah sebagai berikut:
Option Explicit
Private Type POINTAPI
x As Long
Y As Long
End Type
Private Declare Function ClientToScreen Lib "user32" (ByVal hwnd As Long, lpPoint As POINTAPI) As Long
Private Declare Function LBItemFromPt Lib "COMCTL32.DLL" (ByVal hLB As Long, ByVal ptX As Long, ByVal ptY As Long, ByVal bAutoScroll As Long) As Long
Private Declare Function SendMessageByNum Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Private WithEvents lst As ListBox
Private Const LB_SETHORIZONTALEXTENT = &H194
Public Property Let List(New_List As ListBox)
Set lst = New_List
End Property
Private Sub lst_MouseMove(Button As Integer, Shift As Integer, x As Single, Y As Single)
' lst.ListIndex = ItemUnderMouse(lst.hwnd, X, Y)
Dim l As Long
Dim a As Long
a = lst.Parent.TextWidth(lst.List(ItemUnderMouse(lst.hwnd, x, Y))) / Screen.TwipsPerPixelX
l = lst.Parent.TextWidth("AAAAAAAAAAAAAAAAAAAAAAA") / Screen.TwipsPerPixelX
If a > l Then
If lst.ToolTipText <> lst.List(ItemUnderMouse(lst.hwnd, x, Y)) Then
lst.ToolTipText = lst.List(ItemUnderMouse(lst.hwnd, x, Y))
End If
Else
lst.ToolTipText = ""
End If
End Sub
' Return the index of the item under the mouse.
Public Function ItemUnderMouse(ByVal list_hWnd As Long, ByVal x As Single, ByVal Y As Single)
Dim pt As POINTAPI
pt.x = x \ Screen.TwipsPerPixelX
pt.Y = Y \ Screen.TwipsPerPixelY
ClientToScreen list_hWnd, pt
ItemUnderMouse = LBItemFromPt(list_hWnd, pt.x, pt.Y, False)
End Function
Labels:
ListBox
VB6 Code - Mengisi ListBox Atau ComboBox Dengan File
Mengenai cara mengisi ListBox atau ComboBox dengan seluruh isi file menggunakan VB6 Code. Adapun cara mengisi ListBox atau ComboBox dengan isi seluruh file adalah sebagai berikut:
READ MORE - VB6 Code - Mengisi ListBox Atau ComboBox Dengan File
Public Sub LoadFileToComboOrList(FileName As String, obj As Object)
Dim s As String
Dim InFile As Integer ' Descriptor for file.
InFile = FreeFile
Open FileName For Input As InFile
While Not EOF(InFile)
Line Input #InFile, s
obj.AddItem s
Wend
Close InFile
End Sub
VB6 Code - Fungsi Untuk Baca Tulis File .INI
Mengenai fungsi untuk baca tulis file .INI menggunakan VB6 Code - Adapun prosedure VB6 untuk baca tulis file .INI adalah sebagai berikut:
READ MORE - VB6 Code - Fungsi Untuk Baca Tulis File .INI
Option ExplicitContoh penggunaan kode di atas:
Private Declare Function WriteProfileString Lib "kernel32" Alias "WriteProfileStringA" (ByVal lpszSection As String, ByVal lpszKeyName As String, ByVal lpszString As String) As Long
Private Declare Function GetProfileString Lib "kernel32" Alias "GetProfileStringA" (ByVal lpAppName As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long) As Long
Private Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As String) As Long
Private Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long
Public Function ReadIni(ByVal strSection As String, ByVal strKey As String, ByVal strDefault As String, ByVal strFileName As String) As String
Dim intRes As Integer, strRet As String
strRet = Space$(32400)
intRes = GetPrivateProfileString(strSection, strKey, strDefault, strRet, Len(strRet), strFileName)
ReadIni = Left$(strRet, intRes)
End Function
Public Sub WriteIni(ByVal strSection As String, ByVal strKey As String, ByVal strSetting As Variant, ByVal strFileName As String)
WritePrivateProfileString strSection, strKey, CStr(strSetting), strFileName
End Sub
Public Function ReadWinIni(strSection As String, strKey As String) As String
Dim Result As String * 128
Dim Temp As Integer
Temp = GetProfileString(strSection, strKey, "", Result, Len(Result))
ReadWinIni = Left$(Result, Temp)
End Function
Public Sub WriteWinIni(strSection As String, strKey As String, strSetting As String)
WriteProfileString strSection, strKey, strSetting
End Sub
Private Sub Command1_Click()
If Combo1.ListIndex < 0 Then
MsgBox "You must select the combo first!"
Exit Sub
End If
WriteIni "EXE", "EXE", Combo1.ListIndex, App.Path & "\windows.ini"
MsgBox "Run Again and look the change!"
Unload Me
End Sub
Private Sub Form_Load()
Me.WindowState = ReadIni("EXE", "EXE", 0, App.Path & "\windows.ini")
With Combo1
.AddItem "Normal"
.AddItem "Minimized"
.AddItem "Maximized"
End With
End Sub
Labels:
INI-File
Thursday, June 7, 2012
VB6.0 - Code Generator: Add OCX Add DLL Programmatically
Yang dimaksud kode generator disini adalah sebuah aplikasi yang digunakan untuk membuat sebuah project. Adapun tujuan utamanya ialah untuk menghemat waktu, tenaga, dan biaya sedangkan tujuan lainnya yang tidak kalah penting adalah kecepatan. Kode generator sangat baik sekali digunakan untuk pembuatan aplikasi-aplikasi database, karena aplikasi database hampir memliki kode-kode yang sama (insert-update-delete-dsb) hanya objeknya saja yang berbeda. Maka jika kita ingin membuat belasan aplikasi database dengan objek yang berbeda, pembuatan kode generator dengan rancangan yang baik sungguh sangat layak untuk dipertimbangkan. Sebagai contoh Anda dapat mendownload kode generator yang kurang baik atau tepatnya tidak baik disini. Walaupun kurang baik, tapi coba perhatikan apakah keistimewaanya.
Membuat aplikasi kode generator yang baik, tentunya harus memiliki kemampuan menambahkan sembarang OCX dan referensi DLL yang support VB6.0. Bagaimanakah caranya? Di bawah ini merupakan potongan dari kode generator tersebut, gunanya untuk menambahkan referensi DLL dan OCX.
READ MORE - VB6.0 - Code Generator: Add OCX Add DLL Programmatically
Membuat aplikasi kode generator yang baik, tentunya harus memiliki kemampuan menambahkan sembarang OCX dan referensi DLL yang support VB6.0. Bagaimanakah caranya? Di bawah ini merupakan potongan dari kode generator tersebut, gunanya untuk menambahkan referensi DLL dan OCX.
'-------------------------------------------------------------------------------Adapun cara menggunakan kode di atas telah saya bahas disini dan disini. Semoga bermanfaat.
' http://khoiriyyah.blogspot.com
' Administrator
'-------------------------------------------------------------------------------
Public VBInstance As VBIDE.VBE
Public Connect As Connect
Option Explicit
Public Function InsertOCX(ProgID As String) As Boolean
On Error GoTo ErrHandler
'Add OCX
VBInstance.ActiveVBProject.AddToolboxProgID ProgID
InsertOCX = True
Exit Function
ErrHandler:
InsertOCX = False
End Function
Public Function InsertReferences(GUID As String, Mayor As Long, Minor As Long) As Boolean
On Error GoTo ErrHandler
'Add dll references
VBInstance.ActiveVBProject.References.AddFromGuid GUID, Mayor, Minor
InsertReferences = True
ErrHandler:
InsertReferences = False
End Function
Private Sub Command1_Click()
'Add ListView to VB6 project
InsertOCX "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}"
'Add TreeView
InsertOCX "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}"
'Add MSFlexGrid
InsertOCX "{0ECD9B60-23AA-11D0-B351-00A0C9055D8E}"
End Sub
Private Sub Command2_Click()
'Add scrun.dll Microsoft Scripting Runtime)
InsertReferences "{420B2830-E718-11CF-893D-00A0C9054228}", 1#, 0
'Add msado15.dll Microsoft ActiveX Data Objects 2.8 Library)
InsertReferences "{2A75196C-D9EB-4129-B803-931327F72D5C}", 2, 8
End Sub
Fungsi Personal Editor HTML Ordering List [OL]
Ini merupakan fungsi yang digunakan untuk membuat personal editor. Tag yang akan kita modifikasi adalah tag OL (Ordering List).
READ MORE - Fungsi Personal Editor HTML Ordering List [OL]
Option ExplicitCara penggunaan Fungsi Personal Editor HTML Ordering List <OL>
Function OL(strText As String) As String
Dim sText As String
Dim aText() As String
Dim i As Integer
sText = strText
aText = Split(sText, vbCrLf)
For i = LBound(aText) To UBound(aText)
Select Case i
Case LBound(aText)
sText = "<ol>" & "<li>" & aText(i) & "</li>" & vbCrLf
Case UBound(aText)
sText = sText & "<li>" & aText(i) & "</li>" & "</ol>"
Case Else
sText = sText & "<li>" & aText(i) & "</li>" & vbCrLf
End Select
Next
OL = sText
End Function
Private Sub Command1_Click()
Text1.SelText = OL(Text1.SelText)
End Sub
Labels:
String-Manipulation
Fungsi Personal Editor HTML Unordering List [UL]
Ini merupakan fungsi yang digunakan untuk membuat personal editor. Tag yang akan kita modifikasi adalah tag UL (Unordering List).
READ MORE - Fungsi Personal Editor HTML Unordering List [UL]
Option ExplicitCara penggunaan Fungsi Personal Editor HTML Unordering List <UL>
Function UL(strText As String) As String
Dim sText As String
Dim aText() As String
Dim i As Integer
sText = strText
aText = Split(sText, vbCrLf)
For i = LBound(aText) To UBound(aText)
Select Case i
Case LBound(aText)
sText = "<ul>" & "<li>" & aText(i) & "</li>" & vbCrLf
Case UBound(aText)
sText = sText & "<li>" & aText(i) & "</li>" & "</ul>"
Case Else
sText = sText & "<li>" & aText(i) & "</li>" & vbCrLf
End Select
Next
UL = sText
End Function
Private Sub Command1_Click()
Text1.SelText = UL(Text1.SelText)
End Sub
Labels:
String-Manipulation
Menghapus Spasi Yang Tidak Diperlukan (Spasi Rangkap)
Option Explicit
Private Function DelJunkSpace(str As String) As String
Do While (InStr(str, " ") > 0)
str = Replace(str, " ", " ")
Loop
DelJunkSpace = str
End Function
Private Sub Form_Load()
Dim str As String
str = "Asep Hibban http://4basic-vb.blogspot.com"
'return = "Asep Hibban http://4basic-vb.blogspot.com"
Text1.Text = str
End Sub
Labels:
String-Manipulation
VB6 Code - Meng-copy Array Secara Cepat
Private Declare Sub CopyMemory Lib "kernel32" _
Alias "RtlMoveMemory" (Dest As Any, _
Source As Any, ByVal Length As Long)
Private Sub CopyArray()
Dim lngbytes As Long
Dim lngSrc(1 To 600000) As Long
Dim lngDest(1 To 600000) As Long
'
' Number of bytes equals number of array
' elements times the element length.
'
lngbytes = (UBound(lngSrc) - LBound(lngSrc) + 1) * Len(lngSrc(1))
'
' Copy the array passing the address of the start to
' the destination and source arrays and the length
' of the arrays.
'
Call CopyMemory(lngDest(LBound(lngDest)), lngSrc(LBound(lngSrc)), lngbytes)
End Sub
Labels:
Array
Subscribe to:
Comments
(
Atom
)
