<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[SDI-Anwendung mit eigener Klasse erweitern]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe eine SDI-Anwendung, bestehend aus den für die Funktion nötigen, Klassen (Doc, View, Frame, App), die ich bereits mit eignen Klassen, entsprechend der Anforderungen, erweitert habe, erstellt. Diese Erweiterungsklassen sind alle von CObject abgeleitet. Jetzt bräuchte ich eine Möglichkeit, um in einer selbstdefinierten Klasse, die mindestens von CObject (um Serialisierung zu unterstützen) abgeleitet sein muß, auch Messages, die durch Aufruf über das Menü (IDR_MAINFRAME) generiert werden zu handeln. Die Klasse soll keine visuellen Effekte haben, es braucht sich also kein Fenster zu offenbaren. Sie muß nur Funktionalität bieten und soll diese von den andern Klassen kapseln. Momentan sieht es so aus, daß ich Message-Handler nur in den zur Funktionalität nötigen oben genannten Klassen (bzw. deren Instanzen) unterbringen kann, damit das Auffangen der Nachrichten normal funktioniert. Ich habe versucht, eine Klasse von CWnd abzuleiten, in die ich dann mit dem Klassenassistent Message-Handler untergebracht habe. Weil kein Fenster sichtbar sein soll, rufe ich auch nicht Create für diese Klasse auf. Ich habe Sie deshalb von CWnd abgeleitet, weil sie selbst wiederum von CCmdTarget abgeleitet ist (nötig für das Message-Event-Handling) und weil ich von ihr aus wiederum Dialogfelder generiere, dessen Parent-Window diese Klasse dann ist. Beim Auführen der Anwendung sind aber die entsprechenden Menüpunkte grau hinterlegt, also nicht anklickbar. Sonst funktioniert alles wunderbar. Also habe ich einstweilen alle Message-Handler in CDocument untergebracht, was aber den Umstand mitsich bringt, das ich die Ereignisse in die von CWnd abgeleitete Klasse umleiten muß. Außerdem wird die CDocument-Klasse langsam recht unübersichtlich.<br />
Von welcher Klasse leite ich also Sinnvollerweise ab, um Messages handeln zu können, die Instanz aber nicht sichtbar sein soll, aber trotzdem Kind-Dialogfelder erstellbar sein sollen?</p>
<p>Danke für jeden Tip</p>
<p>WOODZ</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/66807/sdi-anwendung-mit-eigener-klasse-erweitern</link><generator>RSS for Node</generator><lastBuildDate>Sat, 06 Jun 2026 01:54:16 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/66807.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 02 Mar 2004 18:22:21 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to SDI-Anwendung mit eigener Klasse erweitern on Tue, 02 Mar 2004 18:22:21 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe eine SDI-Anwendung, bestehend aus den für die Funktion nötigen, Klassen (Doc, View, Frame, App), die ich bereits mit eignen Klassen, entsprechend der Anforderungen, erweitert habe, erstellt. Diese Erweiterungsklassen sind alle von CObject abgeleitet. Jetzt bräuchte ich eine Möglichkeit, um in einer selbstdefinierten Klasse, die mindestens von CObject (um Serialisierung zu unterstützen) abgeleitet sein muß, auch Messages, die durch Aufruf über das Menü (IDR_MAINFRAME) generiert werden zu handeln. Die Klasse soll keine visuellen Effekte haben, es braucht sich also kein Fenster zu offenbaren. Sie muß nur Funktionalität bieten und soll diese von den andern Klassen kapseln. Momentan sieht es so aus, daß ich Message-Handler nur in den zur Funktionalität nötigen oben genannten Klassen (bzw. deren Instanzen) unterbringen kann, damit das Auffangen der Nachrichten normal funktioniert. Ich habe versucht, eine Klasse von CWnd abzuleiten, in die ich dann mit dem Klassenassistent Message-Handler untergebracht habe. Weil kein Fenster sichtbar sein soll, rufe ich auch nicht Create für diese Klasse auf. Ich habe Sie deshalb von CWnd abgeleitet, weil sie selbst wiederum von CCmdTarget abgeleitet ist (nötig für das Message-Event-Handling) und weil ich von ihr aus wiederum Dialogfelder generiere, dessen Parent-Window diese Klasse dann ist. Beim Auführen der Anwendung sind aber die entsprechenden Menüpunkte grau hinterlegt, also nicht anklickbar. Sonst funktioniert alles wunderbar. Also habe ich einstweilen alle Message-Handler in CDocument untergebracht, was aber den Umstand mitsich bringt, das ich die Ereignisse in die von CWnd abgeleitete Klasse umleiten muß. Außerdem wird die CDocument-Klasse langsam recht unübersichtlich.<br />
Von welcher Klasse leite ich also Sinnvollerweise ab, um Messages handeln zu können, die Instanz aber nicht sichtbar sein soll, aber trotzdem Kind-Dialogfelder erstellbar sein sollen?</p>
<p>Danke für jeden Tip</p>
<p>WOODZ</p>
]]></description><link>https://www.c-plusplus.net/forum/post/471873</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/471873</guid><dc:creator><![CDATA[woodz]]></dc:creator><pubDate>Tue, 02 Mar 2004 18:22:21 GMT</pubDate></item></channel></rss>