Example #1
0
BOOL CGenerateObjectPropertiesSelectDlg::FInit (void)
{
// Liste der Objekteigenschaften initialisieren
CEierUhr Wait (this);		// EierUhr anzeigen
WObjectProps ObjProps;
BOOL fMustReInit = DEX_GetObjectProps (ObjProps.ppi());

	if (ObjProps.IsValid()) {
	// evtl. alle ObjProps installieren
		if (fMustReInit) {
			ObjProps -> OnNewReferenceObject (-1L);	// alles bisherige löschen
			if (FAILED(ObjProps -> OnNewReferenceObject (0L))) 
				return FALSE;
			DEX_SetMustInitOPFs(FALSE);
		}
	}

	TX_TRY(m_pObjProps = new CSelObjPropTree (this, IDC_OBJECTPROPERTIES, ObjProps, IncludeAll, false, true, true));
	if (NULL == m_pObjProps) return FALSE;

	return TRUE;
}
Example #2
0
bool CSelectObjectPropTree::InitControl (void)
{
	if (!Control::FInit()) return false;		// Initialisieren

ResourceFile RF (g_pDLLName);

	m_ilProps.CreateList (ResID(IDB_OBJPROPTYPES, &RF), 16, 0, RGB(255, 0, 255));
	m_Items.erase();

// ImageList zuweisen
CImageList *pIL = SetImageList (&m_ilProps, TVSIL_NORMAL);
	
	if (pIL) delete pIL;
	m_Items.erase();

// Objekteigenschaften in Gruppen sortiert im Baum einhängen
CEierUhr Wait (GetParent());
HRESULT hr = m_Props -> OnNewReferenceObject (0L);	// alle ObjProps installieren

	if (FAILED(hr)) return false;
	DEX_SetMustInitOPFs(FALSE);

WEnumObjProps Enum;

	hr = m_Props -> EnumObjectProps (Enum.ppi());
	if (FAILED(hr)) return hr;

// Objekteigenschaften durchgehen
WObjectProperty Prop;
char cbPropInfo[_MAX_PATH];

	for (Enum -> Reset(); 
	     S_OK == Enum -> Next (1, Prop.ppu(), NULL); /**/)
	{
	// vollständigen Namen geben lassen
	DWORD dwFlags = 0L;

		hr = Prop -> GetPropInfo (cbPropInfo, sizeof(cbPropInfo), &dwFlags);
		if (FAILED(hr) || dwFlags & PROPCAPS_INTERACTIVE)
			continue;		// keine interaktive ObjProps anzeigen

	// ParentItem der Property aus dem Baum besorgen
	CPropertyName PropName (cbPropInfo);
	HTREEITEM hParent = CalcParentItem (PropName.GetGroup());
	string rstr = PropName.GetSubGroup();
	HTREEITEM hNewItem = NULL;

		if (0 != rstr.length()) {
		HTREEITEM hSubGroup = CalcSubGroupItem (hParent, rstr.c_str());

			if (NULL != hSubGroup)
				hNewItem = InsertItem (PropName.GetName().c_str(), hSubGroup);
			else 
				hNewItem = InsertItem (PropName.GetName().c_str(), hParent);
		} else 
			hNewItem = InsertItem (PropName.GetName().c_str(), hParent);

	int iIndex = GetImageIndex (dwFlags);

		SetItemImage (hNewItem, iIndex, iIndex);
	}
	return true;
}