Dulu, pertama kali mengenal bahasa pemrograman Microsoft Visual Foxpro sangat sulit sekali untuk membuat image / gambar yang dapat membesar / mengecil secara otomatis mengikuti layar / screen utama. Namun dengan adanya VFP Versi 9 hal itu dapat dilakukan. Beberapa trik yang saya pakai diperoleh dari para master dan suhu yang ada di http://fox-id.org. Namun pada kesempatan ini saya mengembangkan trik tersebut dengan menggunakan objek class.
langsung aja tanpa banyak cingcong…..
(1) Buatlah sebuah project baru.
(2) Pada jendela project tersebut klik tab Classes, kemudian klik tombol New…
(3) Kemudian pada kotak Class Name isikan nama kelas yaitu screenimage. Sedangkan Base on nya pilih Container.
(4) Pada Kotak Store in pilih tempat penyimpanan, dan beri nama myclass
(5) Klik Tombol Ok untuk untuk membuka layar editing class.
(6) kemudian secara otomatis program akan menampilkan jendela Class Designer – Myclass (screenimage). Kemudian aturlah properties container screenimage.borderwith=0, screenimage.backstyle=0 (transparent) dan screenimage.anchor=15
(7) tambahkan objek Image (nama objek otomatis image1) ke dalam container screenimage tersebut.
(8) atur nilai properties objek image1.anchor=15 dan image1.strecth=2, image1.top=0, image1.left=0, image1.width dan image1.height samakan dengan angka yang ada di container screenimage.width dan screenimage.height. (sehingga ukuran image ini sama dengan containernya. Lalu pilih gambar yang anda inginkan pada properties image1.picture.
(9) Kemudian tambahkan lagi objek Commandbutton (command1) yang berfungsi untuk menutup jendela Microsoft Visual Foxpro. Atur properties command1.anchor=12, lalu masukkan coding dibawah ini pada method command1.click
local lcl_njwb lcl_njwb=messagebox("Anda yakin keluar dari Aplikasi?",32+4,"Konfirmasi") if lcl_njwb=6 quit_app() endif |
Andapun dapat menambahkan lagi berbagai objek pada container ini sesuai kebutuhan…(he.he.he selamat berkreasi)
(10) kemudian tutuplah jendela class designer tersebut yang otomatis anda diminta untuk menyimpan class ini.
(11) Selanjutnya buatlah program utama yang isinya sebagai berikut
SET CLASSLIB TO myclass MODIFY WINDOW SCREEN FLOAT TITLE 'PROGRAM CSS (COMOT SANA - SINI)' WITH _SCREEN .CAPTION = 'PROGRAM CSS (COMOT SANA - SINI)' .WIDTH = 640 .HEIGHT = 436 .MINWIDTH = 640 .MINHEIGHT = 436 .BORDERSTYLE = 3 ENDWITH GAMBARDESKTOP() _SCREEN.SHOW() READ EVENTS PROCEDURE GambarDesktop IF .NOT. PEMSTATUS(_SCREEN, 'imgDesktop', 5) _SCREEN.ADDOBJECT('imgDesktop', 'screenimage') ENDIF WITH _SCREEN.imgDesktop .VISIBLE = .T. .TOP = 0 .LEFT = 0 .WIDTH = _SCREEN.WIDTH .HEIGHT = _SCREEN.HEIGHT ENDWITH PUBLIC OSCRHOOK OSCRHOOK = CREATEOBJECT('oScrHk') BINDEVENT(_SCREEN, 'resize', OSCRHOOK, 'imgResize') _SCREEN.RESIZE() ENDPROC DEFINE CLASS oScrHk AS Custom PROCEDURE imgResize WITH _SCREEN.IMGDESKTOP .TOP = 0 .LEFT = 0 .WIDTH = _SCREEN.WIDTH .HEIGHT = _SCREEN.HEIGHT ENDWITH ENDPROC ENDDEFINE PROCEDURE quit_app ON SHUTDOWN * jika _vfp.startmode lebih besar dari 0 IF _VFP.STARTMODE>0 QUIT ELSE UNBINDEVENTS(_SCREEN) _SCREEN.REMOVEOBJECT('imgDesktop') OSCRHOOK = .NULL. RELEASE OSCRHOOK ON ERROR CLOSE DATABASES ALL CLOSE TABLE ALL RELEASE ALL CLEAR MEMO CLEAR EVENTS CLEAR WINDOW SET SYSMENU ON SET SYSMENU TO DEFAULT SET SAFETY ON _SCREEN.MAXBUTTON = .T. _SCREEN.CLOSABLE = .T. _SCREEN.VISIBLE = .T. _VFP.VISIBLE = .T. SET STATUS BAR ON ON KEY SET HELP TO CANCEL ENDIF ENDPR * jika _vfp.startmode lebih besar dari 0 IF _VFP.STARTMODE>0 QUIT ELSE UNBINDEVENTS(_SCREEN) _SCREEN.REMOVEOBJECT('imgDesktop') OSCRHOOK = .NULL. RELEASE OSCRHOOK ON ERROR CLOSE DATABASES ALL CLOSE TABLE ALL RELEASE ALL CLEAR MEMO CLEAR EVENTS CLEAR WINDOW SET SYSMENU ON SET SYSMENU TO DEFAULT SET SAFETY ON _SCREEN.MAXBUTTON = .T. _SCREEN.CLOSABLE = .T. _SCREEN.VISIBLE = .T. _VFP.VISIBLE = .T. SET STATUS BAR ON ON KEY SET HELP TO CANCEL ENDIF ENDPROC |
(12) simpan program tsb dengan nama screenimage.prg, lalu set main.
(13) kemudian lakukan compile menjadi exe dan coba jalankan…
demikian semoga bermanfaat.
Catatan: semua coding diambil dari http://www.fox-id.org. saya hanya memodifikasi dengan menggunakan class saja.
Thank’s buat semua master, para suhu dan rekan-rekan yang telah aktif pada forum tersebut.
Ingin download Source? klik disini
nice share
rudy hartono´s last blog post ..Resep Kue Lapis Beras
@rudy hartono: tq bro atas komennya.