Friday, October 14, 2011

Control Yang Tidak Terpengaruh Oleh Resolusi Screen - Trik VB6

Apabila Form diiperbandingkan kepada Screen, maka control harus diperbandingkan kepada Form. Maksudnya kepada .ScaleTop, .ScaleLeft, .ScaleWidth, .ScaleHeight seperti yang telah kita pelajari sebelumnya.

Baiklah, sekarang saya akan membuat sebuah contoh control yang tidak terpengaruh oleh perubahan resolusi screen. Dalam hal ini control diwakili oleh satu CommandButton.
Option Explicit 
 
Private Sub Form_Resize() 
    On Error Resume Next 
    With Form1 
        .Left = 0 
        .Top = 0 
        .Height = (Screen.Height * 0.5) 
        .Width =  (Screen.Width * 0.5) 
    End With 
    With Command1 
        .Left = (Me.ScaleWidth * 0.68) 
        .Top = (Me.ScaleHeight * 0.78) 
        .Width = (Me.ScaleWidth * 0.2) 
        .Height = (Me.ScaleHeight * 0.1) 
    End With 
End Sub 

Nah, sekarang bagaimana jika di dalam Form tersebut terdapat 31 control, Apakah kita harus mengkodenya satu persatu? tentu saja tidak, di atas hanyalah dasar-dasar atau kode dasar untuk memudahkan pemahaman bagaimana agar form dan control tidak terpengaruh oleh resolusi screen. Adapun dalam kenyataanya, Anda harus memodifikasi dan membuatnya menjadi .Class, .Module, .OCX, .DLL agar mudah digunakan.

Lho Mas, tombol Add, Edit, Savenya pada kemana?. Di bawah layar!