Showing posts with label Form. Show all posts
Showing posts with label Form. Show all posts

Sunday, May 27, 2012

Drag Form Yang Tidak Memiliki ControlBox

Di bawah ini merupakan fungsi standar (menggunakan fungsi API) untuk men-drag form yang tidak memiliki Control Box.
Option Explicit 

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
ReleaseCapture Lib "User32" ()

Const
WM_NCLBUTTONDOWN = &HA1
Const HTCAPTION = 2

Public Sub
DragForm(frm As Form)
Dim lngReturnValue As Long
Call
ReleaseCapture
lngReturnValue = SendMessage(frm.hWnd, WM_NCLBUTTONDOWN, HTCAPTION, 0&)
End Sub
Contoh penggunaan drag form yang tidak memiliki controlbox
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) 
DragForm Me
End Sub

READ MORE - Drag Form Yang Tidak Memiliki ControlBox

Saturday, May 26, 2012

Merubah Caption dan Ukuran Sebuah Form - VB6

Apa yang dimaksud dengan property .Caption? secara definisi yang mudah dipahami, property .Caption pada sebuah Form adalah tulisan yang terdapat pada sisi bagian kiri. Definisi tersebut berlaku bagi Anda orang Amerika, Indonesia dan sebagainya. Sedangkan jika Anda orang Arab atau Mesir maka Caption pada Form adalah tulisan yang berada pada sisi kanan bagian atas. Secara default pada saat kita menambahkan sebuah Form maka pada Form tersebut Captionnya akan bertuliskan Form1, kemudian kita tambah lagi Formnya maka akan bertuliskan Form2 dan seterusnya.

Apa yang dimaksud ukuran dalam sebuah form pada judul di atas? yang dimaksud dengan ukuran pada sebuah form adalah property .Height dan property .Weight. Nah, pada posting kali ini saya akan mendemokan bagaimana cara merubah property .Caption, property .Height, dan property .Weight secara bersamaan menggunakan kode. Adapun kodenya adalah sebagai berikut:
Option Explicit 

Private Sub
Command1_Click()
Form1.Caption = "Test" 'rubah property .Caption menjadi Test asalnya Form1
Form1.Width = 2500 'ganti nilai pada property .Width menjadi 2500
Form1.Height = 3000 'ganti nilai pada property .Height menjadi 3000
End Sub
Demikianlah cara merubah property .Caption, property .Height, dan property .Width secara bersamaan menggunakan kode bahasa pemrograman Visual Basic 6.0
READ MORE - Merubah Caption dan Ukuran Sebuah Form - VB6

Sunday, October 23, 2011

Perbedaan .ScaleWidth dan .Width pada Form - Tips dan Trik V

Apakah perbedaan property .ScaleWidth dan .Width pada Form? .Width adalah lebar dari ujung kiri sampai ujung kanan. Sedangkan .ScaleWidth adalah lebar ujung kiri sampai ujung kanan - border sisi kiri dan sisi kanan. Dengan kata lain .ScaleWidth adalah seluruh daerah Form yang bisa digunakan untuk menyimpan control, demikian pula .ScaleTop, .ScaleHeight, dan .ScaleLeft. Untuk memahaminya lebih baik maka:
  1. Buatlah project baru
  2. Tempatkan satu TextBox pada Form
  3. Copy dan pastekan kode di bawah ini:

  4. Option Explicit 

    Private Sub
    Form_Resize()
    With Text1
    .Top = Me.ScaleTop
    .Left = Me.ScaleLeft
    .Width = Me.ScaleWidth
    .Height = Me.ScaleHeight
    End With
    End Sub
  5. Jalankan.
dan tentu saja akan berbeda dengan kode di bawah ini:
Private Sub Form_Resize() 
With Text1
.Top = 0
.Left = 0
.Width = Me.Width
.Height = Me.Height
End With
End Sub
Catatan: Settinglah property Text1 .MultiLine = True dan .ScrollBar = 3 -Both

READ MORE - Perbedaan .ScaleWidth dan .Width pada Form - Tips dan Trik V

Agar Form Tidak Terpengaruh Resolusi Screen - Tips VB6

Setelah memahami perbedaan .Top, .Left, .Width, .Height dengan .ScaleTop, .ScaleLeft, .ScaleWidth, .ScaleHeight maka kita sekarang melangkah pada bagian selanjutnya mengenai tampilan yang tidak terpengaruh oleh resolusi layar. Sederhanya agar sebuah form memiliki ukuran relatif sama adalah membagi ukurannya lebar dan tinggi berdasarkan prosentase. Perhatikan 2 baris kode di bawah:
Option Explicit 

Private Sub Form_Resize()
With Form1
.Left = 0
.Top = 0
.Height = Screen.Height
.Width = Screen.Width
End With
End Sub
Kode di atas akan membuat sebuah form memiliki ukuran sama dengan tinggi dan lebar layar, berapapun resolusinya. Maka kode di bawah akan membuat form memiliki ukuran 1/2 dari ukuran layar baik tinggi maupun lebarnya, berapapun resolusi layar yang Anda setting.
Option Explicit 

Private Sub Form_Resize()
With Form1
.Left = 0
.Top = 0
.Height = (Screen.Height * 0.5) 'Ini akan membuat tinggi Form setengahnya dari layar
.Width = (Screen.Width * 0.5) 'Ini akan membuat lebar Form setengahnya dari layar.
End With
End Sub
Sekarang coba Anda rubah resolusi layar ke posisi paling ektrim terbesar atau ke posisi ektrim terendah, Apakah tinggi dan lebar Form tersebut berubah? tidak, dia tetap setengahnya dari layar. Lalu apa yang harus Anda lakukan selanjutnya, melakukan resize terhadap seluruh control (CommandButton, TextBox, Label, dan lain-lain. Nah, bagaimana caranya?
READ MORE - Agar Form Tidak Terpengaruh Resolusi Screen - Tips VB6

Saturday, July 23, 2011

Skin Form Yang Mengagumkan Ini milik Leandro Ascierto

Selain Codejock dan Active Skin, skin form yang dibuat oleh Leandro Ascierto (argentina) ini layak sekali untuk dipertimbangkan. Memiliki banyak contoh skin, kurang lebih ada 16 skin. Apabila kita belum puas dengan tampilannya, kita bisa membuat custom skin, karena projectnya (terpisah) dilengkapi dengan fasilitas editor untuk membuat custom skin.

Skin form (open source dan lengkap beserta contohnya) dapat Anda download di: http://www.leandroascierto.com.
Selain skin form, di situs miliknya, kita akan mendapati resource-resource berupa uc(User Control) yang berkualitas.

READ MORE - Skin Form Yang Mengagumkan Ini milik Leandro Ascierto

Thursday, April 22, 2010

Membuat Efek Blow pada Form

Membuat efek/animasi blow/explode pada sebuah form.
Option Explicit 

Type
RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type

Declare Function
GetWindowRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT) As Long
Declare Function
GetDC Lib "user32" (ByVal hwnd As Long) As Long
Declare Function
ReleaseDC Lib "user32" (ByVal hwnd As Long, ByVal hdc As Long) As Long
Declare Function
SetBkColor Lib "gdi32" (ByVal hdc As Long, ByVal crColor As Long) As Long
Declare Function
Rectangle Lib "gdi32" (ByVal hdc As Long, ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long
Declare Function
CreateSolidBrush Lib "gdi32" (ByVal crColor As Long) As Long
Declare Function
SelectObject Lib "user32" (ByVal hdc As Long, ByVal hObject As Long) As Long
Declare Function
DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long

Public Const
IMPLODE_EXPLODE_VALUE = 1500 'you can change the value

Sub
ExplodeForm(f As Form, Movement As Integer)
Dim myRect As RECT
Dim formWidth%, formHeight%, i%, X%, Y%, Cx%, Cy%
Dim TheScreen As Long
Dim
Brush As Long
GetWindowRect f.hwnd, myRect
formWidth = (myRect.Right - myRect.Left)
formHeight = myRect.Bottom - myRect.Top
TheScreen = GetDC(0)
Brush = CreateSolidBrush(f.BackColor)
For i = 1 To Movement
Cx = formWidth * (i / Movement)
Cy = formHeight * (i / Movement)
X = myRect.Left + (formWidth - Cx) / 2
Y = myRect.Top + (formHeight - Cy) / 2
Rectangle TheScreen, X, Y, X + Cx, Y + Cy
Next i
X = ReleaseDC(0, TheScreen)
DeleteObject (Brush)
End Sub

Public Sub
ImplodeForm(f As Form, Movement As Integer)
Dim myRect As RECT
Dim formWidth%, formHeight%, i%, X%, Y%, Cx%, Cy%
Dim TheScreen As Long
Dim
Brush As Long
GetWindowRect f.hwnd, myRect
formWidth = (myRect.Right - myRect.Left)
formHeight = myRect.Bottom - myRect.Top
TheScreen = GetDC(0)
Brush = CreateSolidBrush(f.BackColor)
For i = Movement To 1 Step -1
Cx = formWidth * (i / Movement)
Cy = formHeight * (i / Movement)
X = myRect.Left + (formWidth - Cx) / 2
Y = myRect.Top + (formHeight - Cy) / 2
Rectangle TheScreen, X, Y, X + Cx, Y + Cy
Next i
X = ReleaseDC(0, TheScreen)
DeleteObject (Brush)
End Sub
Contoh penggunaan membuat efek ledakan pada form
Private Sub Command1_Click() 
Call ImplodeForm(Me, IMPLODE_EXPLODE_VALUE)
End
Set
Form1 = Nothing
End Sub

Private Sub
Form_Load()
Call ExplodeForm(Me, IMPLODE_EXPLODE_VALUE)
End Sub
READ MORE - Membuat Efek Blow pada Form