ขั้นตอนที่ 7: การย้ายตัวควบคุมที่อยู่บนเว็บเพจ

ตัวควบคุมของคุณขณะนี้เสร็จสิ้นแล้ว เมื่อต้องการดูตัวควบคุมของคุณทำงานในสถานการณ์จริง เก็บไว้บนเว็บเพจ เมื่อตัวช่วยสร้างวัตถุ ATL สร้างตัวควบคุมเริ่มต้น มันยังสร้างไฟล์ HTML ที่ประกอบด้วยตัวควบคุม คุณสามารถเปิดแฟ้ม PolyCtl.htm ใน Internet Explorer และคุณเห็นตัวควบคุมของคุณบนเว็บเพจ?

ตัวควบคุมไม่ทำอะไร ยัง ดังนั้น เปลี่ยนหน้าเว็บเพื่อตอบสนองกับเหตุการณ์ที่คุณส่ง เปิด PolyCtl.htm ใน Visual c ++ (ถ้าแฟ้มไม่ปรากฏในFileViewเลือกเปิดจากเมนูแฟ้มเพื่อเปิดแฟ้ม) และเพิ่มบรรทัดที่เป็นตัวหนา?

ltHTML > <HEAD> หน้าทดสอบ <TITLE> ATL 3.0 สำหรับวัตถุ PolyCtl </TITLE> </HEAD> <BODY> < OBJECT ID "PolyCtl" = < CLASSID = " CLSID:4CBBC676-507F-D 11 0-B98B-000000000000 " > > </OBJECT>< SCRIPT LANGUAGE = "VBScript" > <!-- Sub PolyCtl_ClickIn (x, y) PolyCtl.Sides = PolyCtl.Sides + 1 End Sub Sub PolyCtl_ClickOut (x, y) PolyCtl.Sides = PolyCtl.Sides - 1 End Sub --> </SCRIPT></BODY> < / HTML & gt

คุณได้เพิ่มรหัส VBScript บางที่ได้รับคุณสมบัติด้านจากตัวควบคุม และเพิ่มจำนวนข้างหนึ่งถ้าคุณคลิกภายในตัวควบคุม ถ้าคุณคลิกภายนอกตัวควบคุม คุณสามารถลดจำนวนข้าง โดยหนึ่ง?

เริ่มต้น Internet Explorer และทำให้แน่ใจว่า การตั้งค่าการรักษาความปลอดภัยจะถูกตั้งค่าเป็น'ปานกลาง':

  1. คลิกInternet Optionsบนเมนูมุมมอง?

  2. เลือกSecurity tab และตั้งค่าการรักษาความปลอดภัยเป็นMediumถ้าจำเป็น แล้วคลิกตกลง?

ตอนนี้ เปิด PolyCtl.htm ใน Internet Explorer หลังจากที่คุณคลิกที่ตัวควบคุม กล่องโต้ตอบSecurity Alertจะแจ้งว่า Internet Explorer ไม่ทราบว่าปลอดภัยให้สคริปต์ตัวควบคุม?

หมายอย่างไร สมมติว่า คุณมีตัวควบคุมที่ ตัวอย่าง แสดงแฟ้ม แต่ยัง มี การ Delete วิธีการที่ลบแฟ้ม ตัวควบคุมจะปลอดภัยถ้าคุณเพียงแค่ดูในหน้า แต่จะไม่สามารถเซฟให้สคริปต์เนื่องจากบางคนไม่สามารถเรียกการ Delete วิธี ข้อความนี้เป็นวิธีการของ Internet Explorer ของบอกว่า มันไม่ทราบหากมีบุคคลอื่นไม่สามารถทำความเสียหายกับตัวควบคุมนี้ ดังนั้นขอให้ผู้ใช้?

คุณทราบว่า ตัวควบคุมของคุณจะปลอดภัย ดังนั้น ให้คลิกYes คลิกขณะนี้ ภายในรูปหลายเหลี่ยม หมายเลขของด้านข้างเพิ่มขึ้นตามอย่างใดอย่างหนึ่ง คลิกภายนอกรูปหลายเหลี่ยมเพื่อลดจำนวนของด้านข้าง ถ้าคุณพยายามที่จะลดจำนวนของด้านล่าง 3 คุณจะเห็นข้อความแสดงข้อผิดพลาดที่คุณได้ตั้งค่า?

รูปต่อไปนี้แสดงตัวควบคุมการทำงานใน Internet Explorer หลังจากคุณได้คลิกภายในรูปหลายเหลี่ยมสองครั้ง?

หลังจากที่คุณทราบว่า ตัวควบคุมของคุณเสมอคือเซฟให้สคริปต์ มันจะดีจะยอมให้ Internet Explorer ทราบ เพื่อให้มันไม่ต้องการที่แสดงในกล่องโต้ตอบSecurity Alert คุณสามารถทำได้ผ่านทางอินเทอร์เฟซสำหรับIObjectSafety ATL หน้า ๆ การใช้งานของอินเทอร์เฟซนี้ในคลาIObjectSafetyImpl?

เมื่อต้องการเพิ่มอินเทอร์เฟซสำหรับการควบคุมของคุณ เพียงเพิ่มIObjectSafetyImplให้กับรายการของคลาสที่สืบทอดมา และเพิ่มรายการนั้นในแผนที่ของคุณ COM?

เพิ่มบรรทัดต่อไปนี้ลงในส่วนท้ายของรายการของคลาสที่สืบทอดมาใน PolyCtl.h การจดจำการเพิ่มเครื่องหมายจุลภาคไปยังบรรทัดก่อนหน้า:

   สาธารณะ IObjectSafetyImplltCPolyCtl, INTERFACESAFE_FOR_UNTRUSTED_CALLER & gt

แล้ว เพิ่มบรรทัดต่อไปนี้ลงแผนที่ COM ใน PolyCtl.h:

   COM_INTERFACE_ENTRY(IObjectSafety)

ตอนนี้ สร้างตัวควบคุม เมื่อเสร็จ build เปิด PolyCtl.htm ใน Internet Explorer อีกครั้ง เวลานี้ควรจะแสดงหน้าเว็บโดยตรง โดยไม่มีกล่องโต้ตอบการละเมิดความปลอดภัย คลิกภายใน และภาย นอกของรูปหลายเหลี่ยมเพื่อยืนยันว่า การเขียนสคริปต์ที่ทำงาน?

|Nbspกลับไปยังขั้นตอนที่ 6 ในการอ้างอิง(&N)

Index