<?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[Button auf PropertyPage]]></title><description><![CDATA[<p>Ich habe ein MFC-Prog, die Oberfläche ist von CFormView abgeleitet, darauf sitzt ein CPropertySheet und dadrin mehrere CPropertyPages. Ich lasse beim Erstellen der CPropertySheet eine Datei auslesen, die danach eine bestimmte Anzahl benötigter PropertyPages erzeugt. Nachdem diese erzeugt sind, lese ich eine andere Datei aus und möchte je nach Inhalt einige Buttons auf der CPropertyPage erstellen lassen. Das Auslesen der Variablen klappt, nur beim Erstellen der Buttons tut sich nichts.</p>
<p>Laut der msdn geschieht das ja hiermir:<br />
CButton::Create<br />
BOOL Create( LPCTSTR lpszCaption, DWORD dwStyle, const RECT&amp; rect, CWnd* pParentWnd, UINT nID );</p>
<p>für CWnd* pParentWnd dachte ich mir, müsste this passend sein, aber es werden keine Buttons gezeichnet. Und mit GetParent() führt das ganze immer zum Absturz <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Hier mal mein Codestück:</p>
<pre><code class="language-cpp">btn[i].Create( structBtn[i].sName, WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON,
	Rect( 0, iNextPosY, 90, structBtn[i].iSize * 8 ),
	this, structBtn[i].cmdID );
</code></pre>
<p>Was muss ich statt this oder GetParent() nehmen?<br />
Die Buttons werden in der Klasse definiert, nicht lokal in der Funktion.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/83417/button-auf-propertypage</link><generator>RSS for Node</generator><lastBuildDate>Mon, 13 Apr 2026 09:38:14 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/83417.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 20 Aug 2004 11:38:29 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Button auf PropertyPage on Fri, 20 Aug 2004 11:38:29 GMT]]></title><description><![CDATA[<p>Ich habe ein MFC-Prog, die Oberfläche ist von CFormView abgeleitet, darauf sitzt ein CPropertySheet und dadrin mehrere CPropertyPages. Ich lasse beim Erstellen der CPropertySheet eine Datei auslesen, die danach eine bestimmte Anzahl benötigter PropertyPages erzeugt. Nachdem diese erzeugt sind, lese ich eine andere Datei aus und möchte je nach Inhalt einige Buttons auf der CPropertyPage erstellen lassen. Das Auslesen der Variablen klappt, nur beim Erstellen der Buttons tut sich nichts.</p>
<p>Laut der msdn geschieht das ja hiermir:<br />
CButton::Create<br />
BOOL Create( LPCTSTR lpszCaption, DWORD dwStyle, const RECT&amp; rect, CWnd* pParentWnd, UINT nID );</p>
<p>für CWnd* pParentWnd dachte ich mir, müsste this passend sein, aber es werden keine Buttons gezeichnet. Und mit GetParent() führt das ganze immer zum Absturz <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Hier mal mein Codestück:</p>
<pre><code class="language-cpp">btn[i].Create( structBtn[i].sName, WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON,
	Rect( 0, iNextPosY, 90, structBtn[i].iSize * 8 ),
	this, structBtn[i].cmdID );
</code></pre>
<p>Was muss ich statt this oder GetParent() nehmen?<br />
Die Buttons werden in der Klasse definiert, nicht lokal in der Funktion.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/587142</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/587142</guid><dc:creator><![CDATA[Tie]]></dc:creator><pubDate>Fri, 20 Aug 2004 11:38:29 GMT</pubDate></item><item><title><![CDATA[Reply to Button auf PropertyPage on Mon, 23 Aug 2004 05:14:25 GMT]]></title><description><![CDATA[<p>hier keiner ne idee? naja mal schaun, vielleicht kommt mir nachher auf arbeit die erleuchtung <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/588745</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/588745</guid><dc:creator><![CDATA[Tie]]></dc:creator><pubDate>Mon, 23 Aug 2004 05:14:25 GMT</pubDate></item><item><title><![CDATA[Reply to Button auf PropertyPage on Mon, 23 Aug 2004 07:32:42 GMT]]></title><description><![CDATA[<p>Hab mal Debug durchlaufen lassen, diese Wanungen kommen:<br />
Warning: no message line prompt for ID 0xC350.<br />
Warning: Window creation failed: GetLastError returns 0x0000057E</p>
<p>Wenn er in</p>
<pre><code class="language-cpp">BOOL CWnd::CreateEx(DWORD dwExStyle, LPCTSTR lpszClassName,
	LPCTSTR lpszWindowName, DWORD dwStyle,
	int x, int y, int nWidth, int nHeight,
	HWND hWndParent, HMENU nIDorHMenu, LPVOID lpParam)
</code></pre>
<p>geht, ist HWND hWndParent immer NULL und</p>
<pre><code class="language-cpp">HWND hWnd = ::CreateWindowEx(cs.dwExStyle, cs.lpszClass,
			cs.lpszName, cs.style, cs.x, cs.y, cs.cx, cs.cy,
			cs.hwndParent, cs.hMenu, cs.hInstance, cs.lpCreateParams);
</code></pre>
<p>bekommt auch NULL</p>
]]></description><link>https://www.c-plusplus.net/forum/post/588790</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/588790</guid><dc:creator><![CDATA[Tie]]></dc:creator><pubDate>Mon, 23 Aug 2004 07:32:42 GMT</pubDate></item><item><title><![CDATA[Reply to Button auf PropertyPage on Mon, 23 Aug 2004 08:03:18 GMT]]></title><description><![CDATA[<p>Ich habe mal per &quot;Suchen in Dateien&quot; im Visual Studio Verzeichnis das hier gefunden:</p>
<pre><code class="language-cpp">//
// MessageId: ERROR_TLW_WITH_WSCHILD
//
// MessageText:
//
//  Cannot create a top-level child window.
//
#define ERROR_TLW_WITH_WSCHILD           1406L
</code></pre>
<p>Das ist der Fehler, den du gemeldet bekommst (erstmal von Hex in Dez umrechnen).</p>
<p>Der Grund für diese Meldung ist, dass du als Parent NULL übergibst. Sonst kann ich dir leider nicht wirklich weiterhelfen.</p>
<p>Blos noch die obligatorische Frage: Ist OnInitDialog schon gemacht worden zu dem Zeitpunkt? Das wäre mein Ansatz...</p>
<p>Viel Glück! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/588818</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/588818</guid><dc:creator><![CDATA[estartu]]></dc:creator><pubDate>Mon, 23 Aug 2004 08:03:18 GMT</pubDate></item><item><title><![CDATA[Reply to Button auf PropertyPage on Mon, 23 Aug 2004 08:33:13 GMT]]></title><description><![CDATA[<p>ja, oninitdialog wurde schon ausgeführt.<br />
ich lasse in cpropertysheet 2pages erstellen, wenn diese erstellt sind lese ich eine datei ein, gebe den pages die richtigen titel und will die buttons erstellen (alles in der sheet). zum buttons erstellen wird dann selber eine fkt in der page aufgerufen, die den obrigen ausschnitt enthält.</p>
<p>grad gesehen, schon in der CButton::Create wo ich this übergebe, wird mir folgende Info zu this angezeigt, wenn ich mit der Maus drübergehe:<br />
0x002f6f94 {CONUTABContent hWnd=0x00000000}<br />
Wieso is der hWnd auf 0, das darf doch eigentlich nicht sein oder?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/588836</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/588836</guid><dc:creator><![CDATA[Tie]]></dc:creator><pubDate>Mon, 23 Aug 2004 08:33:13 GMT</pubDate></item><item><title><![CDATA[Reply to Button auf PropertyPage on Mon, 23 Aug 2004 11:07:22 GMT]]></title><description><![CDATA[<p>mhh da ich es nicht hinbekomme, dachte ich, erstelle ich auf der propertypage einfach 20buttons (mehr werden nie angezeigt) und blende unbenutzte aus.<br />
aber da ich in dem sheet mehrere variablen der gleichen propertypage-klasse habe, dürfte das doch nicht klappen oder? wegen der ids, die die buttons vom dialogeditor bekommen.<br />
also wenn ich z.b. 2 pages vom typ CMyPropertyPage habe und auf dem zugeordnetem Dialog sind 5Buttons, können die dann für beide Pages genutzt werden? ich hoffe es ist verständlich was ich meine</p>
]]></description><link>https://www.c-plusplus.net/forum/post/588997</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/588997</guid><dc:creator><![CDATA[Tie]]></dc:creator><pubDate>Mon, 23 Aug 2004 11:07:22 GMT</pubDate></item></channel></rss>