Bab 2 Pemrograman Berbasis Region


Region adalah “wilayah/daerah” pada form dalam Windows. Manipulasi region pada Visual Basic ini menggunakan Library Gdi32.dll. Di dalam library Gdi32.dll, menyediakan API untuk memanipulasi region seperti: membuat region kotak, elips, polygon, dsb. Selain membuat region, Library ini juga bisa untuk menggabungkan antara region yang satu dengan yang lain. Manipulasi form ini pada dasarnya bertujuan membentuk form selain bentuk default dari windows. Dengan API region ini kita bisa menciptakan style form yang berbeda.
Untuk membuat aplikasi menggunakan konsep region ini memang agak sulit tapi asyik buat dipelajari, ikuti saja langkah-langkah berikut ini :

Gambar 2.1 Tampilan windows region

1    Buat project baru.
2    Atur properties seperti tabel di bawah ini.

Atribut
Property
Value
Form
Backcolor
BorderStyle
WindowState
&H000000C0&
None
Maximized
                                   Tabel 2.1 Properties form
3     Masuklah ke bagian view code untuk memanipulasi sebuah form yang mana setiap fungsi memiliki fungsi yang berbeda, jenis-jenisnya yaitu:
CombineRgn                        : Untuk menggabungkan objek
CreateEllipticRgn                : Untuk membuat bentuk   lingkaran
CreateRectRgn                   :Untuk membuat bentuk kotak
CreateRoundRectRgn      : Untuk membuat bentuk kotak melengkung
CreatePolygonRgn            : Untuk membuat bentuk polygon 
Dan masih banyak lagi, seperti  : CombineRgn,  OffsetRgn, PathToRegion, PtlnRegion

4    Untuk membuat manipulasi form tersebut maka harus dibuat sebuah private sub form_load yang terdapat code seperti di bawah ini :

Function
Keterangan
Variabel (bertype long )= CreateEllipticRgn(x1, y1, x2, y2)
-x1 = koordinat x pojok kiri atas lingkaran
- y1 = koordinat y pojok kiri atas lingkaran
- x2 = koordinat x pojok kanan bawah lingkaran
- y2 = koordinat y pojok kanan bawah lingkaran
b1 = CreateEllipticRgn(10, 10, 260, 260)  
Lingkaran luar
b2 = CreateEllipticRgn(30, 30, 240, 240)
Lingkaran pemotong b1
b3 = CreateRectRgn(90, 60, 115, 205)                   
Kotak huruf P

b4 = CreateRoundRectRgn(50, 60, 200, 160, 100, 100)
Lingkaran huruf P
b5 = CreateRoundRectRgn(50, 80, 175, 140, 50, 50)      
Lingkaran pemotong b4
b6 = CreateRectRgn(50, 60, 115, 205)

          Tabel 2.2 Function Create

Fungsi-fungsi di atas telah dimanupulasi menjadi bentuk simbol lalu lintas “boleh parkir”

5    Setelah beberapa bentuk dibuat, maka selanjutnya mengkombinasi bentuk-bentuk tersebut dengan code :

Code Function
Keterangan
CombineRgn(h, r1, r2, pola) (italic)
h = region hasil penggabungan yang harus sudah ada sebelumnya
(bisa r1 atau r2)
r1 = region pertama untuk digabungkan.
r2 = region kedua untuk digabungkan
CombineRgn b4, b4, b5, 4
CombineRgn b4, b4, b6, 4
CombineRgn b4, b4, b3, 2
CombineRgn b2, b1, b2, 4
CombineRgn b2, b2, b4, 2
pola = mode yang digunakan dalam operasi penggabungan dan merupakan suatu konstanta.
                          Tabel 2.3 Function Combine


Macam-macam pola proses dalam fungsi CombineRgn

 Konstanta
Pola
Keterangan
1
RGN_AND
Daerah perpotongan antara r1 dan r2
2
RGN_OR
Daerah gabungan antara r1 dan r2
3
RGN_XOR
Daerah r1 dan r2 yang tidak berpotongan
4
RGN_DIFF
Daerah r1 yang tidak berpotongan dengan r2
                 Tabel 2.4 Pola CombineRgn

6    Selanjutnya untuk menampilkan hasil kombinasi bentuk-bentuk tersebut dengan menggunakan code :

SetWindowRgn(handle, variabel, True)

Handle di sini maksudnya adalah handle dari form ataupun control lainnya yang akan diubah atau disesuaikan bentuknya (untuk form yaitu Form.hwnd).

7    Tekan F5 untuk menjalankan program. Aplikasi berbentuk simbol rabu-rambu lalu lintas berhasik dibuat.

0 komentar: