COleControl::IsConvertingVBX

BOOL IsConvertingVBX ( );

ส่งกลับค่า

ไม่ใช่ศูนย์ถ้าตัวควบคุมกำลังถูกแปลง 0 อื่น?

หมายเหตุ

เมื่อฟอร์มที่ใช้ VBX ในการแปลงตัวควบคุมที่ใช้ตัวควบคุม OLE รหัสพิเศษโหลดตัวควบคุม OLE อาจจะต้อง ตัวอย่างเช่น ถ้าคุณกำลังโหลดอินสแตนซ์ของตัวควบคุม OLE คุณอาจมีการเรียกไปยังPX_FontในDoPropExchangeของคุณ:

PX_Font (pPx "แบบอักษร" m_MyFont, pDefaultFont)

อย่างไรก็ตาม VBX ควบคุมไม่มีวัตถุที่เป็นแบบอักษร แต่ละคุณสมบัติแบบอักษรถูกบันทึกแต่ละรายการ ในกรณีนี้ คุณต้องใช้IsConvertingVBXเพื่อแยกความแตกต่างระหว่างสองกรณีเหล่านี้:

ถ้า (IsConvertingVBX()==FALSE)
 nbsp  PX_Font (pPX "แบบอักษร" m_MyFont, pDefaultFont);
อื่น
{
    PX_String (pPX, "FontName", tempString, DefaultName);
    m_MyFont - > put_Name(tempString)
    PX_Bool (pPX, "FontUnderline", tempBool ค่าเริ่มต้น);
    m_MyFont - > put_Underline(tempBool)
...
}

กรณีอื่นจะถ้าควบคุม VBX ของคุณบันทึกข้อมูล binary ที่มี (ในตัวจัดการข้อความของVBM_SAVEPROPERTY ), และของคอนโทรล OLE ของข้อมูลไบนารีที่จะบันทึกในรูปแบบอื่น ถ้าคุณต้องการให้ตัวควบคุม OLE ของคุณจะย้อนกลับเข้ากับตัวควบคุม VBX คุณสามารถอ่านทั้งเก่า และใหม่รูปแบบโดยใช้ฟังก์ชันIsConvertingVBXโดยแยกว่าตัวควบคุม VBX หรือตัวควบคุม OLE ถูกโหลด?

ในฟังก์ชันDoPropExchangeของตัวควบคุมของคุณ คุณสามารถตรวจสอบเงื่อนไขนี้ และถ้าเป็นจริง เรียกใช้โค้ดโหลดเฉพาะแปลงนี้ (เช่นในตัวอย่างก่อนหน้านี้) ถ้าไม่มีการแปลงตัวควบคุม คุณสามารถเรียกใช้รหัสโหลดปกติ ความสามารถในการทำงานนี้จะใช้กับตัวควบคุมที่ถูกแปลงจาก VBX counterparts เฉพาะ?

ภาพรวม COleControl |nbsp สมาชิกของคลาส| แผนภูมิของลำดับชั้น(&N)

ดูเพิ่มเติมnbspCOleControl::DoPropExchange(&N)

Index