Source code lengkap bisa didownload di http://www.ziddu.com/download/19099090/Flag.zip.html
Melanjutkan belajar tentang API Programming .
Kali ini saya akan membuat grafiti dari VB dengan model yang lain.Sebenarnya ini adalah tugas sewaktu kuliah, daripada tergeletak lemas di
Soal : buatlah model seperti berikut di VB 6.0
Berikut source code utamanya
'bendera luar
a0 = CreateRectRgn(0, 100, 999, 500)
a1 = CreateEllipticRgn(-30, 60, 450, 200)
a2 = CreateEllipticRgn(430, 5, 1000, 170)
nKoor = 3
segi_a3(1).x = 450
segi_a3(1).y = 60
segi_a3(2).x = 420
segi_a3(2).y = 94
segi_a3(3).x = 470
segi_a3(3).y = 130
' Creates region to fill with color.
a3 = CreatePolygonRgn(segi_a3(1), nKoor, ALTERNATE)
a4 = CreateEllipticRgn(-30, 440, 453, 580)
a5 = CreateEllipticRgn(450, 430, 1000, 575)
'lubang dalam sebelah kiri
a6 = CreateEllipticRgn(-30, 130, 440, 230)
a7 = CreateEllipticRgn(-30, 170, 440, 270)
a8 = CreateEllipticRgn(-30, 350, 440, 450)
a9 = CreateEllipticRgn(-30, 390, 440, 490)
a10 = CreateRectRgn(0, 100, 80, 420)
b1 = CreateRectRgn(80, 150, 130, 380)
'lubang dalam sebelah kanan
b2 = CreateEllipticRgn(420, 100, 970, 270)
b3 = CreateEllipticRgn(420, 60, 970, 230)
b4 = CreateEllipticRgn(420, 310, 970, 490)
b5 = CreateEllipticRgn(420, 260, 900, 450)
b6 = CreateRectRgn(900, 150, 1000, 500)
b7 = CreateRectRgn(850, 220, 900, 450)
'variasi
b8 = CreateRectRgn(940, 180, 960, 490)
kotak_a = CreateRectRgn(60, 100, 170, 120)
kotak_b = CreateRectRgn(780, 510, 880, 530)
circle_a = CreateEllipticRgn(200, 80, 240, 120)
circle_b = CreateEllipticRgn(700, 510, 740, 550)
elips_a = CreateEllipticRgn(270, 90, 330, 110)
elips_b = CreateEllipticRgn(560, 520, 680, 540)
'bintang
ns3a = 3
bintang1(1).x = 275
bintang1(1).y = 290
bintang1(2).x = 200
bintang1(2).y = 240
bintang1(3).x = 350
bintang1(3).y = 240
segi3a = CreatePolygonRgn(bintang1(1), ns3a, ALTERNATE)
nBtg = 3
bintang2(1).x = 270
bintang2(1).y = 200
bintang2(2).x = 220
bintang2(2).y = 320
bintang2(3).x = 320
bintang2(3).y = 320
btg2 = CreatePolygonRgn(bintang2(1), ns3a, ALTERNATE)
nBtg3 = 3
bintang3(1).x = 220
bintang3(1).y = 320
bintang3(2).x = 320
bintang3(2).y = 320
bintang3(3).x = 270
bintang3(3).y = 290
btg3 = CreatePolygonRgn(bintang3(1), nBtg3, ALTERNATE)
'Yin & Yang
yinyang = CreateEllipticRgn(600, 300, 700, 400)
yin = CreateEllipticRgn(630, 340, 680, 410)
yin1 = CreateRectRgn(580, 300, 645, 400)
yang = CreateEllipticRgn(630, 300, 680, 350)
'penghalus lengkungan
npl = 3
pl(1).x = 415
pl(1).y = 195
pl(2).x = 430
pl(2).y = 195
pl(3).x = 440
pl(3).y = 215
p_l = CreatePolygonRgn(pl(1), npl, ALTERNATE)
npel = 3
pel(1).x = 424
pel(1).y = 382
pel(2).x = 428
pel(2).y = 375
pel(3).x = 440
pel(3).y = 392
pe_l = CreatePolygonRgn(pel(1), npel, ALTERNATE)
npele = 3
pele(1).x = 420
pele(1).y = 420
pele(2).x = 428
pele(2).y = 400
pele(3).x = 440
pele(3).y = 433
pe_le = CreatePolygonRgn(pele(1), npele, ALTERNATE)
CombineRgn a0, a0, a1, 2
CombineRgn a0, a0, a3, 4
CombineRgn a0, a0, a5, 2
CombineRgn a0, a0, a6, 4
CombineRgn a0, a0, a7, 2
CombineRgn a0, a0, a8, 4
CombineRgn a0, a0, a9, 2
CombineRgn a0, a0, a100, 2
CombineRgn a0, a0, a10, 2
CombineRgn a0, a0, a4, 4
CombineRgn a0, a0, b1, 4
CombineRgn a0, a0, b4, 4
CombineRgn a0, a0, b5, 2
CombineRgn a0, a0, b2, 4
CombineRgn a0, a0, b3, 2
CombineRgn a0, a0, a2, 4
CombineRgn a0, a0, b6, 2
CombineRgn a0, a0, b7, 4
CombineRgn a0, a0, b8, 4
CombineRgn a0, a0, kotak_a, 4
CombineRgn a0, a0, kotak_b, 4
CombineRgn a0, a0, circle_a, 4
CombineRgn a0, a0, circle_b, 4
CombineRgn a0, a0, elips_a, 4
CombineRgn a0, a0, elips_b, 4
CombineRgn a0, a0, segi3a, 4
CombineRgn a0, a0, btg2, 4
CombineRgn a0, a0, btg3, 2
CombineRgn a0, a0, yinyang, 4
CombineRgn a0, a0, yin, 2
CombineRgn a0, a0, yin1, 2
CombineRgn a0, a0, yang, 4
CombineRgn a0, a0, p_l, 4
CombineRgn a0, a0, pe_l, 2
CombineRgn a0, a0, pe_le, 4
SetWindowRgn Me.hwnd, a0, True
Caranya, buat form kotak seperti biasa. Lalu dipotong dengan bentuk oval di kanan atas dan kiri bawah supaya terlihat melengkung ke dalam.
Kemudian tambahkan oval di kiri atas dan kanan bawah agar terlihat melengkung ke luar.
Selanjutnya terserah kreasi Anda, masak harus saya jelaskan detail.
Coba dulu doong...baru tanya kalau kurang jelas. Bikin kotaknya? Bikin bintang? Bikin tanda koma besar??
Disambung lain kali ya..
Tidak ada komentar:
Posting Komentar