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