Friday, December 21, 2012

Method .Move Jauh Lebih Cepat - VB6 Tips

Menjelaskan bahwa method .Move yang terdapat pada objek jauh lebih cepat dibandingkan setting pada properties - Apabila Anda bekerja dengan tampilan yang terdapat pada VB6 dan pada tampilan tersebut banyak melakukan resize terhadap objek misalnya: Form melakukan resize terhadap Container1 (PictureBox), Container1 melakukan resize terhadap Container2 (PictureBox), Container2 melakukan resize terhadap Container3, dan seterusnya hingga akhirnya Container terakhir melakukan resize terhadap objek-objek. Barulah Anda menyadari sebuah ketidakstabilan karena menggunakan kode seperti yang dicontohkan di bawah ini:

Private Sub Picture1_Resize()
    With Text1
        .Left = 0
        .Top = 0
        .Width = Picture1.ScaleWidth
        .Height = Picture1.ScaleHeight
    End With
End Sub

Sebaiknya kode di atas Anda ganti saja dengan menggunakan methode move seperti yang dicontohkan di bawah ini:

Private Sub Picture1_Resize()
    With Text1
        .Move 0, 0, Picture1.ScaleWidth, Picture1.ScaleHeight
    End With
End Sub
Atau sebaiknya buatlah sebuah method reusable seperti di bawah ini:
Public Sub SetSameSize(Parent, Child)
With Child
.Move 0, 0, Parent.ScaleWidth, Parent.ScaleHeight
End With
End Sub
Contoh penggunaan dari method di atas:
Private Sub Picture1_Resize()
SetSameSize Picture1, Text1
End Sub

Ngomong-ngomong mengapa method move lebih cepat? tentu saja karena ia hanya memerlukan satu kali proses dan langsung memanggil fungsi API, sementara setting properties membutuhkan bebarapa kali proses disebabkan OOP dan Class-nya.