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