コード例 #1
0
// NEU: Die Funktion UpdateRegistry muß definiert werden, wenn die Erweiterung 
// sich selbst in der RegDB registrieren soll (empfohlen!!).
// Der ProgID (hier 'TRiAS.TextExtension.1') ist eine ZeichenKette, die die Erweiterung
// in der RegDB repräsentiert. Das Format sollte beibehalten werden. Die '... .1'
// steht für die VersionsNummer.
// Der KlassenName (hier die Stringresource hinter IDS_LONGCLASSNAME) ist eine 
// normal-lesbare Zeichenkette, die lokalisiert wird (deshalb in der Resource) und
// die Bezeichnung der Erweiterung definiert.
//
bool UpdateRegistry (bool fRegister)	// RegDB aktualisieren (initialisieren/löschen)
{
	if (fRegister) {
	// RegDB initialisieren
		return ExtOleRegisterExtensionClass (g_hInstance,
				CLSID_TextExtension, 
				TEXT("TRiAS.TextExtension.1"), IDS_LONGCLASSNAME,
				TEXTEXT_MAJORVERSION, TEXTEXT_MINORVERSION,
				EFUnLoadable|EFVisible|EFUnLoadable);
	} else {
	// RegDB säubern
		return ExtOleUnregisterClass (CLSID_TextExtension, 
					      TEXT("TRiAS.TextExtension.1"));
	}

return true;	// alles ok
}
コード例 #2
0
ファイル: StatistApp.cpp プロジェクト: hkaiser/TRiAS
BOOL UpdateRegistry (BOOL fRegister)	
{
// unseren aktuellen Namen besorgen
	{
	CCurrentUser regCfg (KEY_READ, g_cbRegConfig);
	DWORD dwSize = _MAX_PATH;

		if (!regCfg.GetSubSZ (g_cbTRiASName, g_cbTRiAS, dwSize))
			strcpy (g_cbTRiAS, g_cbCopyrightName);		// default
	}

	if (fRegister) {	// RegDB initialisieren
	// Erweiterung selbst registrieren
		if (!ExtOleRegisterExtensionClass (_Module.GetModuleInstance(),
				CLSID_Statist, g_cbStatistProgID, IDS_LONGCLASSNAME,
				STATIST_MAJORVERSION, STATIST_MINORVERSION, EFPreLoad|EFUnLoadable))
			return FALSE;
	
	// registers component categories
	CString strCatId;

		strCatId.Format(IDS_CATIDDESC_STATVALUE, g_cbTRiAS);
		_ASSERTE(strCatId.GetLength() > 0);

		CreateComponentCategory (CATID_TRiASStatistValue, strCatId);

		strCatId.Format (IDS_CATIDDESC_STATVALUESCONTAINER, g_cbTRiAS);
		_ASSERTE(strCatId.GetLength() > 0);

		CreateComponentCategory (CATID_TRiASStatistValuesContainer, strCatId);
	} 
	else {
	// RegDB säubern
		RemoveComponentCategory (CATID_TRiASStatistValuesContainer);
		RemoveComponentCategory (CATID_TRiASStatistValue);

		if (!ExtOleUnregisterClass (CLSID_Statist, g_cbStatistProgID))
			return FALSE;
	}
	return TRUE;	// alles ok
}
コード例 #3
0
ファイル: EDBS.CPP プロジェクト: hkaiser/TRiAS
//
// NEU: Die Funktion UpdateRegistry muß definiert werden, wenn die Erweiterung 
// sich selbst in der RegDB registrieren soll (empfohlen!!).
// Der ProgID (hier 'TRiAS.Simple.1') ist eine ZeichenKette, die die Erweiterung
// in der RegDB repräsentiert. Das Format sollte beibehalten werden. Die '... .1'
// steht für die VersionsNummer.
// Der KlassenName (hier die Stringresource hinter IDS_LONGCLASSNAME) ist eine 
// normal-lesbare Zeichenkette, die lokalisiert wird (deshalb in der Resource) und
// die Bezeichnung der Erweiterung definiert.
//
BOOL UpdateRegistry (BOOL fRegister)	// RegDB aktualisieren (initialisieren/löschen)
{
	if (fRegister) {
	// RegDB initialisieren
		BOOL fSuccess = ExtOleRegisterExtensionClass (g_hInstance,
				CLSID_EDBSImport, 
				TEXT("TRiAS.EDBSImport.1"), IDS_LONGCLASSNAME,
				EDBSIMPORT_MAJORVERSION, EDBSIMPORT_MINORVERSION,
				EFUnLoadable|EFCanImport);
		if (!fSuccess) return false;

		return ExtOleRegisterImportClass (g_hInstance,
				CLSID_EDBSImport, TEXT("TRiAS.EDBSImport.1"),
				IDS_FORMATDESCRIPTION, IDS_DEFAULTEXTENSION);
	} else {
	// RegDB säubern
		return ExtOleUnregisterClass (CLSID_EDBSImport, 
					      TEXT("TRiAS.EDBSImport.1"));
	}
	return true;	// alles ok
}
コード例 #4
0
ファイル: GeoEdit.cpp プロジェクト: hkaiser/TRiAS
///////////////////////////////////////////////////////////////////////////////////////////////
// Der ProgID (hier 'TRiAS.Editierung.2') ist eine Zeichenkette, die die Erweiterung in der
// RegDB repräsentiert. Das Format sollte beibehalten werden. Die '... .2' steht für die
// VersionsNummer. Der KlassenName (hier die Stringresource hinter IDS_LONGCLASSNAME) ist eine
// normal-lesbare Zeichenkette, die lokalisiert wird (deshalb in der Ressource) und die
// Bezeichnung der Erweiterung definiert.
BOOL UpdateRegistry (BOOL bRegister)	// RegDB aktualisieren (initialisieren/löschen)
{
	if (bRegister)	// RegDB initialisieren ...
	{
	bool bRet = ExtOleRegisterExtensionClass (g_hInstance, CLSID_GeometrieEditierung2,
											  TEXT("TRiAS.Editierung.2"), IDS_LONGCLASSNAME,
											  GEOEDIT_MAJORVERSION, GEOEDIT_MINORVERSION,
											  EFPreLoad
	// Durch die Herausnahme der beiden nachfolgenden Flags wird die Erweiterung nicht
	// entladbar und systemintern
	//										  |EFUnLoadable|EFVisible
											  );

	CCurrentUser cuExtConfig (RegistryExtPathEdit, true);

	// ... durch Eintrag der Schlüssel "MinMarkGroesse" bzw. "MaxMarkGroesse" für Unter- bzw.
	// Obergrenze der Pixelgröße der Markierungsquadrate
	ResourceFile RF (g_pDLLName);
	ResString UMarkGroesse (ResID (IDS_UMARKGROESSE, &RF), 30);
	ResString OMarkGroesse (ResID (IDS_OMARKGROESSE, &RF), 30);

	DWORD dwUWert = iUGr;	// default-Wert des Schlüssels "MinMarkGroesse"
	DWORD dwOWert = iOGr;	//  bzw. des Schlüssels "MaxMarkGroesse" (aus EditKonst.h)

		// wenn Schlüssel "MinMarkGroesse" bzw. "MaxMarkGroesse" bisher noch nicht in der RegDB
		// existieren, dann jetzt anlegen
		if (!cuExtConfig.GetDWORD (UMarkGroesse.Addr(), dwUWert))
			cuExtConfig.SetDWORD (UMarkGroesse.Addr(), dwUWert);

		if (!cuExtConfig.GetDWORD (OMarkGroesse.Addr(), dwOWert))
			cuExtConfig.SetDWORD (OMarkGroesse.Addr(), dwOWert);

	// Eintrag der Schlüssel "MarkColor", "MarkColorBegin", "MarkColorEnd" und
	// "MarkColorThickness" für farbliche Gestaltung der Markierungsquadrate
	ResString resMarkColor (ResID (IDS_MARKCOLOR, &RF), 30);
	ResString resMarkColorBegin (ResID (IDS_MARKCOLORBEGIN, &RF), 30);
	ResString resMarkColorEnd (ResID (IDS_MARKCOLOREND, &RF), 30);
	ResString resMarkBoundThick (ResID (IDS_MARKBOUNDTHICK, &RF), 30);

	DWORD dwColor0 = ulGW0;	// default-Werte (aus EditKonst.h)
	DWORD dwColor1 = ulGW1;
	DWORD dwColor2 = ulGW2;
	DWORD dwThickness = iThick;

		if (!cuExtConfig.GetDWORD(resMarkColor.Addr(), dwColor0))
			cuExtConfig.SetDWORD(resMarkColor.Addr(), dwColor0);

		if (!cuExtConfig.GetDWORD(resMarkColorBegin.Addr(), dwColor1))
			cuExtConfig.SetDWORD (resMarkColorBegin.Addr(), dwColor1);

		if (!cuExtConfig.GetDWORD(resMarkColorEnd.Addr(), dwColor2))
			cuExtConfig.SetDWORD(resMarkColorEnd.Addr(), dwColor2);

		if (!cuExtConfig.GetDWORD(resMarkBoundThick.Addr(), dwThickness))
			cuExtConfig.SetDWORD(resMarkBoundThick.Addr(), dwThickness);
		
		return bRet;
	}

	else			// RegDB säubern
		// die eigenen Einträge müßten hier wieder gelöscht werden !!!
		return ExtOleUnregisterClass (CLSID_GeometrieEditierung2, TEXT("TRiAS.Editierung.2"));

	return true;	// alles ok
}