Rexx - ส่วนติดต่อผู้ใช้แบบกราฟิก

ในการใช้อินเทอร์เฟซผู้ใช้แบบกราฟิกที่มีอยู่ใน Rexx จำเป็นต้องใช้ 2 แพ็คเกจหนึ่งเรียกว่า ActiveTcl และอีกอย่างคือ Rexxtkแพ็คเกจ นอกเหนือจากแพ็คเกจทั้ง 2 นี้เราสามารถออกแบบฟอร์มปกติซึ่งสามารถมีปุ่มและส่วนควบคุมอื่น ๆ ในแบบฟอร์มได้

การตั้งค่าสภาพแวดล้อม

สิ่งแรกที่ต้องทำคือการตั้งค่าสภาพแวดล้อม มาทำตามขั้นตอนต่อไปนี้เพื่อจัดสภาพแวดล้อม

Step 1 - ดาวน์โหลดแพ็คเกจ Activetcl จากเว็บไซต์ต่อไปนี้ - https://www.activestate.com/activetcl

Step 2- ขั้นตอนต่อไปคือการเริ่มการติดตั้ง ActiveTCl คลิกที่ปุ่มถัดไปบนหน้าจอเพื่อดำเนินการต่อ

Step 3 - ยอมรับข้อตกลงใบอนุญาตและคลิกที่ปุ่มถัดไป

Step 4 - เลือกตำแหน่งสำหรับการติดตั้งและคลิกที่ปุ่มถัดไป

Step 5 - เลือกตำแหน่งสำหรับการติดตั้งการสาธิตและคลิกที่ปุ่มถัดไป

Step 6 - คลิกที่ปุ่มถัดไปเพื่อดำเนินการติดตั้ง

Step 7 - คลิกที่ปุ่ม Finish เพื่อทำการติดตั้งให้เสร็จสิ้น

Step 8 - ขั้นตอนต่อไปคือการดาวน์โหลดซอฟต์แวร์ Rexxtk จากลิงค์ต่อไปนี้ - https://sourceforge.net/projects/rexxtk/

Step 9- ดับเบิลคลิกไฟล์ตัวติดตั้งจากลิงค์ในขั้นตอนก่อนหน้าเพื่อเริ่มการติดตั้ง คลิกที่ปุ่มถัดไปเพื่อดำเนินการต่อ

Step 10 - ในหน้าจอถัดไปคลิกที่ปุ่มใช่เพื่อยอมรับข้อตกลงใบอนุญาต

Step 11 - ในหน้าจอถัดไปเลือกตำแหน่งสำหรับการติดตั้งและคลิกที่ปุ่มถัดไป

Step 12 - เลือกตำแหน่งโฟลเดอร์ Program และคลิกที่ปุ่มถัดไป

เมื่อการติดตั้งเสร็จสมบูรณ์ตอนนี้เราสามารถเริ่มต้นด้วยการเขียนโปรแกรม GUI ใน Rexx

โปรแกรมพื้นฐาน

มาดูกันว่าเราจะออกแบบโปรแกรมพื้นฐานง่ายๆด้วย Rexx ในรูปแบบอินเทอร์เฟซผู้ใช้แบบกราฟิกได้อย่างไร

ตัวอย่าง

/* Main program */ 
call RxFuncAdd 'TkLoadFuncs','rexxtk','TkLoadFuncs' 
call TkLoadFuncs 
do forever 
   interpret 'Call' TkWait() 
end 
call TkDropFuncs 
exit 0

สิ่งต่อไปนี้ต้องสังเกตเกี่ยวกับโปรแกรมข้างต้น -

  • ไลบรารี Rexxtk และฟังก์ชันทั้งหมดถูกโหลดโดยใช้คำสั่ง RxFuncAdd

  • ลูปทำตลอดไปจะทำให้หน้าต่างเปิดอยู่และจะรอให้ผู้ใช้ป้อนข้อมูล

  • เมื่อตรวจพบอินพุตของผู้ใช้โปรแกรมจะออก

เมื่อโปรแกรมข้างต้นทำงานคุณจะได้ผลลัพธ์ดังต่อไปนี้

การสร้างเมนู

เมนูถูกสร้างขึ้นด้วยความช่วยเหลือของฟังก์ชัน TkMenu และ TkAdd ไวยากรณ์ของฟังก์ชันเหล่านี้ได้รับด้านล่าง

ไวยากรณ์

TkMenu(widgetname,options,0)

พารามิเตอร์

Widgetname - ชื่อที่ตั้งให้กับเมนู

ตัวเลือกสามารถเป็นใครก็ได้ดังต่อไปนี้ -

  • selectcolor - หากใช้ช่องทำเครื่องหมายหรือปุ่มตัวเลือกเป็นตัวเลือกเมนูตัวเลือกนี้จะระบุสีเพื่อเลือกเมื่อเลือกตัวเลือกเมนูใด ๆ

  • tearoff - ตัวเลือกนี้ใช้สำหรับการเพิ่มเมนูย่อยในเมนูหลัก

  • title - สตริงที่ต้องใช้เพื่อตั้งชื่อหน้าต่าง

ส่งคืนค่า

ที่จับสำหรับเมนูที่สร้างขึ้น

ตัวอย่าง

/* Main program */ 
call RxFuncAdd 'TkLoadFuncs','rexxtk','TkLoadFuncs' 
call TkLoadFuncs 

menubar = TkMenu('.m1') 
filemenu = TkMenu('.m1.file','-tearoff', 0) 
call TkAdd menubar, 'cascade', '-label', 'File', '-menu', filemenu 
call TkAdd filemenu, 'command', '-label', 'Open...', '-rexx', 'getfile' 
call TkConfig '.', '-menu', menubar 

do forever 
   interpret 'Call' TkWait() 
end 
call TkDropFuncs 
exit 0

สิ่งต่อไปนี้ต้องสังเกตเกี่ยวกับโปรแกรมข้างต้น -

  • แถบเมนูถูกสร้างขึ้นโดยใช้ฟังก์ชัน TkMenu พารามิเตอร์ 'tearoff' หมายความว่าเราจำเป็นต้องสร้างเมนูย่อยซึ่งจะแนบไปกับเมนูหลัก

  • จากนั้นเราจะเพิ่มตัวเลือกเมนู 2 ตัวที่เรียกว่าไฟล์และเปิดโดยใช้ฟังก์ชัน TkAdd

เมื่อโปรแกรมข้างต้นทำงานคุณจะได้ผลลัพธ์ดังต่อไปนี้