ตัวควบคุมของคุณขณะนี้เสร็จสิ้นแล้ว เมื่อต้องการดูตัวควบคุมของคุณทำงานในสถานการณ์จริง เก็บไว้บนเว็บเพจ เมื่อตัวช่วยสร้างวัตถุ 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 และทำให้แน่ใจว่า การตั้งค่าการรักษาความปลอดภัยจะถูกตั้งค่าเป็น'ปานกลาง':
ตอนนี้ เปิด 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)