Tuesday, June 12, 2012

Di manakakah letak procedure Sub Main? - VB6 Add-Ins

Karena letak prosedure Sub Main() bisa di module mana saja, maka untuk mengetahuinya melalui project VB6 Addin, maka kita memerlukan kode di bawah ini:
Private Function GetSubMain() As String 
Dim v As
VBComponent
Dim l As Long, s As String
For Each v In
VBInstance.ActiveVBProject.VBComponents
With v
If
.Type = vbext_ct_StdModule Then
l =
v.CodeModule.CountOfLines
If l > 0 Then
s =
v.CodeModule.Lines(1, l)
If InStr(1, s, "sub main()", vbTextCompare) > 0 Then
GetSubMain = v.Name
Exit Function
End If
End If
End If
End With
Next
End Function
READ MORE - Di manakakah letak procedure Sub Main? - VB6 Add-Ins

Memeriksa Apakah Sebuah Project Telah Disimpan - VB6 Add-Ins

Melalui VB6 Add-Ins kita dapat memeriksa apakah sebuah project telah disimpan atau belum, berikut fungsi untuk memeriksa apakah project telah disimpan:
Private Function IsProjectSaved() As Boolean 
IsProjectSaved = Not (VBInstance.ActiveVBProject.Filename = "")
End Function
READ MORE - Memeriksa Apakah Sebuah Project Telah Disimpan - VB6 Add-Ins

Mendapat Seluruh Kode Yang Terdapat Pada CodeModule - Add-Ins

Di bawah merupakan fungsi untuk memperoleh seluruh kode dari baris pertama hingga baris terakhir - Bermanfaat terutama untuk meng-crop kode-kode sample dan memasukannya ke dalam snippet database.
Public VBInstance As VBIDE.VBE 
Public Connect As Connect

Option Explicit

Private Sub
CancelButton_Click()
Connect.Hide
End Sub

Private Sub
OKButton_Click()
MsgBox GetCodeModule("Form1")
End Sub

Private Function
GetCodeModule(s As String) As String
Dim
cd As CodeModule
Set cd = VBInstance.ActiveVBProject.VBComponents(s).CodeModule
GetCodeModule = cd.Lines(1, cd.CountOfLines)
End Function
READ MORE - Mendapat Seluruh Kode Yang Terdapat Pada CodeModule - Add-Ins

Cara Membuat Form Transparan Menggunakan VB6

Kode di bawah digunakan untuk menjadikan sebuah form menjadi transparan, tetapi dengan kontrol-kontrol (CommandButton, TextBox, ComboBox, dll) yang tidak transparan (opaque).

Bagaimanakah kode untuk membuat form transparant ini:
Option Explicit 

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 crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long

Private Const
GWL_STYLE = (-16)
Private Const GWL_EXSTYLE = (-20)
Private Const WS_EX_LAYERED = &H80000
Private Const LWA_COLORKEY = &H1
Private Const LWA_ALPHA = &H2

Public Function
MakeTransparentForm(frm As Form)
frm.BackColor = vbBlue
SetWindowLong frm.hwnd, GWL_EXSTYLE, GetWindowLong(frm.hwnd, GWL_EXSTYLE) Or WS_EX_LAYERED
SetLayeredWindowAttributes frm.hwnd, vbBlue, 0&, LWA_COLORKEY
End Function

Contoh penggunaan kode form transparant:
Private Sub Form_Load() 
MakeTransparentForm Me
End Sub

Demikianlah semoga kode membuat form menjadi transparant di atas bermanfaat. selamat mencoba!
READ MORE - Cara Membuat Form Transparan Menggunakan VB6