AfxOleRegisterControlClass

BOOL AFXAPI AfxOleRegisterControlClass (HINSTANCE hInstance, REFCLSID clsid, LPCTSTR pszProgID, UINT idTypeName, UINT idBitmap, int nRegFlags, DWORD dwMiscStatus, REFGUID tlid, WORD wVerMajor, WORD wVerMinor );

#รวม lt;afxctl.h>

ส่งกลับค่า

ไม่ใช่ศูนย์ถ้าลงทะเบียนคลาควบคุม 0 อื่น?

พารามิเตอร์

hInstance

หมายเลขอ้างอิงของอินสแตนซ์ของโมดูลที่เกี่ยวข้องกับการควบคุมคลา?

clsid

ID ไม่ซ้ำชั้นของตัวควบคุม?

pszProgID

หมายเลขเฉพาะโปรแกรมของตัวควบคุม?

idTypeName

ID ทรัพยากรของสายอักขระที่ประกอบด้วยชื่อผู้ใช้สามารถอ่านชนิดตัวควบคุม?

idBitmap

ID ทรัพยากรของบิตแมปที่ใช้เพื่อแสดงตัวควบคุม OLE ในแถบเครื่องมือหรือชุดแบบสี?

nRegFlags

ประกอบด้วยค่าสถานะต่อไปนี้อย่างน้อยหนึ่งอย่าง:

หมายเหตุnbsp  ใน MFC รุ่นก่อน MFC 4.2 พารามิเตอร์nRegFlags intแก้ไขพารามิเตอร์BOOL , bInsertableที่ได้รับอนุญาต หรือไม่อนุญาตให้ตัวควบคุมจะถูกแทรกจากกล่องโต้ตอบการแทรกวัตถุ (&N)?

dwMiscStatus

ประกอบด้วยอย่างน้อยหนึ่งค่าสถานะสถานะต่อไปนี้ (สำหรับคำอธิบายของสถานะ ดูการแจงนับOLEMISCในการอ้างอิงของ OLE โปรแกรมเมอร์ของ):

tlid

รหัสเฉพาะของคลาควบคุม?

wVerMajor

ชั้นเรียนควบคุมจำนวนรุ่นหลัก?

wVerMinor

หมายเลขรุ่นรองของคลาสควบคุม?

หมายเหตุ

ลงทะเบียนเรียนควบคุมกับฐานข้อมูลการลงทะเบียน Windows นี้ช่วยให้ตัวควบคุมที่จะใช้ โดยคอนเทนเนอร์ที่คอนโทรล OLE ทราบ AfxOleRegisterControlClassการปรับปรุงรีจิสทรี ด้วยตัวควบคุมชื่อและตำแหน่งที่ตั้งบนระบบ และสามารถ ตั้งค่ารูปแบบ threading ที่ควบคุมการสนับสนุนในรีจิสทรี ดูข้อมูลเพิ่มเติม64 หมายเหตุทางเทคนิค"อพาร์ทเม้นท์-Model เธรดใน OLE ควบคุม และ เกี่ยวกับกระบวนการและกระทู้ใน Win32 SDK?

ตัวอย่าง

/ / ใช้งานฟังก์ชันของสมาชิกของคลาส COleObjectFactory::UpdateRegistry / /
BOOL CMyApartmentAwareCtrl::CApartmentCtrlFactory::UpdateRegistry(BOOL bRegister)
{
/ / TODO: ตรวจสอบว่า ตัวควบคุมของคุณตาม / / อพาร์ทเม้นท์รุ่นเธรดกฎ
/ / อ้างถึง MFC TechNote 64 สำหรับข้อมูลเพิ่มเติม
/ / ถ้าตัวควบคุมของคุณไม่สอดคล้องตาม / / อพาร์ทเม้นท์รุ่นกฎ แล้วคุณต้องแก้ไขการ
/ / รหัสด้านล่าง เปลี่ยนพารามิเตอร์จาก 6
/ / afxRegInsertable | afxRegApartmentThreading การ
/ / afxRegInsertable

nbsp ถ้า (bRegister)
      กลับ AfxOleRegisterControlClass()
         AfxGetInstanceHandle()
         m_clsid
         m_lpszProgID
         IDS_APARTMENT
         IDB_APARTMENT
         afxRegInsertable | afxRegApartmentThreading
         _dwApartmentOleMisc
         _tlid
         _wVerMajor
         _wVerMinor);
   อื่น
      กลับ AfxOleUnregisterClass (m_clsid, m_lpszProgID)(&N)

ตัวอย่างข้างต้นสาธิตวิธีAfxOleRegisterControlClassถูกเรียก ด้วยค่าสถานะสำหรับ insertable และการตั้งค่าสถานะสำหรับอพาร์ทเม้นท์รุ่น ORed ร่วมกันเพื่อสร้างพารามิเตอร์หก:

   afxRegInsertable | afxRegApartmentThreading

ตัวควบคุมจะแสดงขึ้นในกล่องโต้ตอบการแทรกวัตถุสำหรับคอนเทนเนอร์ที่เปิดใช้งาน และมันจะเป็นอพาร์ทเม้นท์รุ่นทราบ อพาร์ทเม้นท์รุ่นระวังควบคุมต้องแน่ใจคลาสที่คงที่มีป้องกันข้อมูล โดยล็อก ดังนั้นในขณะที่ตัวควบคุมในห้องพักหนึ่งจะเข้าถึงข้อมูลแบบ static มันไม่ปิด โดยที่ตัวจัดกำหนดการก่อนเสร็จ และอินสแตนซ์อื่นของชั้นเรียนเดียวกันเริ่มทำงานโดยใช้ข้อมูลเดียวกันคง แนวใด ๆ กับข้อมูลแบบ static จะถูกล้อมรอบ ด้วยส่วนที่สำคัญของรหัส?

ดูเพิ่มเติมnbspAfxOleRegisterPropertyPageClass, AfxOleRegisterTypeLib, AfxOleUnregisterClass, AfxOleUnregisterTypeLib(&N)

Index