17, เม.ย. 2009
AVENUE : การแสดงผล Theme ด้วย GUI ใน ArcView 3.X

AVENUE : การแสดงผล Theme ด้วย GUI ใน ArcView 3.X

ในบทความชุดนี้ทางผู้เรียบเรียงและเขียน ได้อธิบายวิธีการแสดงผล Theme ที่เราสนใจดูข้อมูลนั้น ซึ่งในบทความนี้อยากให้คุณได้เรียนรู้โครงสร้างของชุดคำสั่งในการเรียกใช้งาน theme และจะได้เข้าใจถึงโครงสร้างของโปรแกรมแบบ For Each … มากขึ้น ในการเรียกใช้งานซ้ำๆ สำหรับบางกรณี
ให้ทุกท่านเปิด Project ที่ทำไว้ในบทความครั้งที่ 4 ที่ผ่านมาแล้วให้ลองทดสอบ script ใหม่ เพื่อให้เราเข้าใจในบทเรียนมากขึ้น
ซึ่งถ้าเราพยายามทำความเข้าใจโครงสร้างของชุดคำสั่งต่างๆ ที่เราต้องการเรียกใช้งานให้ Theme ที่มีอยู่แสดงผล เราอาจจะใช้คำสั่ง SetVisible ดังตัวอย่างข้างล่างเป็นการค้นหา Theme ที่ต้องการและให้มีการแสดงผลบน view

ศึกษาเพิ่มเติมได้จากเอกสารแนบนี้   avenue06.pdf

🧩 ตัวอย่างสคริปต์ Avenue สำหรับสลับการแสดงผลของ Theme

avenueCopyEdittheView = av.GetActiveDoc
theThemes = theView.GetThemes

for each aTheme in theThemes
  if (aTheme.GetName = "ชื่อธีมที่ต้องการ") then
    aTheme.SetVisible(not aTheme.IsVisible)
  end
end

theView.Invalidate

คำอธิบาย:

  • av.GetActiveDoc: ดึง View ที่กำลังใช้งานอยู่ในปัจจุบัน.
  • GetThemes: ดึงรายการ Theme ทั้งหมดใน View.
  • For Each: วนลูปผ่านแต่ละ Theme ใน View.
  • GetName: ตรวจสอบชื่อของ Theme.
  • SetVisible: ตั้งค่าการแสดงผลของ Theme.
  • IsVisible: ตรวจสอบสถานะการแสดงผลปัจจุบันของ Theme.
  • Invalidate: รีเฟรช View เพื่อแสดงผลการเปลี่ยนแปลง.​

🛠️ การนำสคริปต์ไปใช้งาน

  1. สร้างสคริปต์ใหม่:
    • เปิด ArcView 3.x และคลิกที่ไอคอน “Script” เพื่อเปิดหน้าต่าง Script Manager.
    • คลิก “New” เพื่อสร้างสคริปต์ใหม่ และวางโค้ดที่กล่าวมาข้างต้นลงไป.​
  2. คอมไพล์สคริปต์:
    • คลิกที่เมนู “Script” > “Compile” เพื่อคอมไพล์สคริปต์และตรวจสอบข้อผิดพลาด.​
  3. เรียกใช้สคริปต์:
    • สามารถเรียกใช้สคริปต์ได้โดยคลิกที่ “Script” > “Run” หรือผูกสคริปต์กับปุ่มหรือเครื่องมือใน ArcView เพื่อความสะดวกในการใช้งาน.

ใส่ความเห็น

Related Posts