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)