IInterfaceInfo::Properties Property
Visual Studio 2015
Gets the properties of the interface.
Assembly: Microsoft.VisualStudio.VsWizard (in Microsoft.VisualStudio.VsWizard.dll)
// Taken from the Visual C++ Member Variable wizard function PopulateCategories(bActiveXControl) { var nIndex = 0; if (bActiveXControl) { var strTypeLib = window.external.GetActiveXControlTypeLib(CONTROL_TYPE.text); var oTypeLib = oTypeLibs.item(strTypeLib); var oEnums = oTypeLib.Enums; var nEnumCount = oEnums.Count; var oInterfaces = oTypeLib.Interfaces; var nCount = oInterfaces.Count; var bDefaultInterface = false; var oInterface; for (n = 1; n <= nCount; n++) { oInterface = oInterfaces.Item(n); if (oInterface.CoClass != CONTROL_TYPE.text) continue; if (oInterface.Default == true) { bDefaultInterface = true; break; } } if (bDefaultInterface == true) { var oFuncs = oInterface.Properties; var funcCount = oFuncs.Count; for (j = 1; j <= funcCount; j++) { oFunc = oFuncs.Item(j); var strType = oFunc.Type; var strName = oFunc.Name; var oOption = document.createElement("OPTION"); oOption.value = strName; oOption.text = strName; oOption.ID = strName.toUpperCase(); oCategories.add(oOption); g_aoControlProperties[nIndex] = strName; g_aoControlPropertyDispids[nIndex] = oFunc.DispID; if (IsTypeEnum(strType, oEnums, nEnumCount)) strType = "long"; g_aoControlPropertyTypes[nIndex] = strType; if (!IsListed(strType)) VariableType.AddItem(strType); nIndex++; } } } g_aoControlProperties.length = nIndex + 1; g_aoControlPropertyTypes.length = nIndex + 1; }
Show: