Tutorial Visual Basic Copy Desktop, transparan form

COPY DESKTOP AKTIF

Tutorial kali ini kita dapata gunakan dalam pembuatan game atau sekedar untuk mempercantik tampilan form seolah – olah transparan.
1.      Bukalah program visual basic dan mulailah dengan form baru. Keudian ubahlah propertis form seperti BorderStyle menjadi 0-None dan WindowState menjadi 2-Maximized.
2.      Masukkan sebuah komponen Image kedalam area form dan pada propertis Picture masukkan gambar yang anda inginkan kedalam komponen dari direktori anda.
3.      Tambahkan sebuah modul ke dalam project dan ketiklah perintah di bawha ini :

1

2

3


4
5
Option Explicit

Declare Function createDC& Lib "gdi32" Alias "CreateDCA" (ByVal lpDriverName$, ByVal lpDeviceName$, ByVal lpOutput$, ByVal lpInitData&)
Declare Function StretchBlt& Lib "gdi32" (ByVal hDestDC&, ByVal x&, ByVal y&, ByVal nWidth&, ByVal nHeight&, ByVal hSrcDC&, ByVal XSrc&, ByVal YSrc&, ByVal nSrcWidth&, ByVal nSrcHeight&, ByVal dwRop&)
Public Const SRCCOPY = &HCC0020
Public tempLong&

6
7

8
9
10

11
Sub CopyScreen(canvas As Object)
    Dim screendc&
   
    canvas.AutoRedraw = True
    screendc = createDC("DISPLAY", "", "", 0&)
    tempLong = StretchBlt(canvas.hDC, 0, 0, canvas.Width, canvas.Height, screendc, 0, 0, Screen.Width, Screen.Height, SRCCOPY)
End Sub

Keterangan Kode
1-3


4-11
Membuat fungsi untuk mewajibkan semua jenis variabel yang digunakan supaya sebelumnya harud dideklarasikan terlebih dahulu dan membuat bebrapa fungsi API.
Mendeklarasikan bebrapa variabel dengan jenis global deklarasi, kemudian membuat perintah yang diberi nama CopyScreen yang berfungsi sebagai kode untuk meng-copy tampilan destop yang sedang aktif.

4.      Kembali ke tampilan desain form, kemudian klik ganda di dalam area form. Ketiklah perintah di bawah ini pada bagian General dan ubahlah event prosedur Form_Load menjadi Form_Activate.

1
2
Dim index As Integer
Dim mousX As Integer, mousY As Integer
3
4
5
Private Sub Form_Activate()
    CopyScreen Me
End Sub

Keterangan Kode
1-2
4

Mendeklarasikan bebrapa variabel yang akan digunakan.
Memanggil peritah CopyScreen yang terdapat di dalam modul yang telah kita buat untuk meng-copy tampilan desktop yang sedang aktif pada saat form pertama kali tampil.

5.      Ubahlah event prosedur Form_Activate menjadi Form_MouseMove, ketiklah perintah di bawah ini untuk mendeteksi posisi X dan Y poiter mouse yang aktif.
1

2
3
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
mousX = X: mousY = Y
End Sub
6.      Ubah kembali event prosedur Form_MouseMove menjadi Form_Click dan ketiklah perintah di bawah ini. Kemudian masukkan juda perintah pada event prosedur Form_KeyDown.
1
2
3
4
5
6
7
Private Sub Form_Click()
    index = Image1.Count
    Load Image1(index + 1)
        Image1(index + 1).Top = mousY - 700
        Image1(index + 1).Left = mousX - 700
        Image1(index + 1).Visible = True
End Sub
8
9
10
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
    If KeyCode = 27 Then End
End Sub

Keterangan Kode
2
3-6


9
Mengisi variabel Index dengan jumlah banyak komponen Image yang aktif.
Menduplikat komponen Image dengan pembeda Index, kemudian menentukan posisi Left dan Top komponen Image baru sesuai dengan posisi pointer moues aktif. Selanjutnya menampilkan komponen Image baru.
Pada saat kita menekan tombol ESC pada keyboard, maka perintah untuk menutup form akan diaktifkan.

7.      Untuk mencoba hasilnya, tekan tombol F5 pada keyboard anda. Kemudian klik di dalam area form.



EmoticonEmoticon