Membuat Gambar atau Objek Class yang resolusinya bisa mengikuti Screen Microsoft Visual Foxpro

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=0screenimage.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.

:thanks2 Thank’s buat semua master, para suhu dan rekan-rekan yang telah aktif pada forum tersebut. :iloveindonesia

Ingin download Source? klik disini

0 0 votes
Article Rating
Subscribe
Notify of
guest
CommentLuv badge
[+] kaskus emoticons nartzco

 
What is 6 + 12 ?
Please leave these two fields as-is:
3 Comments
Inline Feedbacks
View all comments
rudy hartono
12 years ago

nice share
rudy hartono´s last blog post ..Resep Kue Lapis Beras