<?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[Zweites ActiveX nimmt die vorhergehenden Einstellungen]]></title><description><![CDATA[<p>Hallo!</p>
<p>Ich habe ein ActiveX-Steuerelement mit dem MFC-ActiveX.. Assistenten erstellt.Nun habe ich dem Steuerelement eine Hintergrundfarbe-Eigenschaft hinzugefügt.Sie läuft ganz gut! Wenn ich sie ändere dann wird die Hintergrundfarbe automatisch geändert. Nun habe ich festgestellt das, wenn ich ein zweites solches Steuerelement auf die Form ziehe die Eigenschaften des ersten Steuerelements übernommen werden.Wie kann ich das verhindern ?</p>
<p>Vielen Dank im voraus!<br />
Ronny.W <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/6057/zweites-activex-nimmt-die-vorhergehenden-einstellungen</link><generator>RSS for Node</generator><lastBuildDate>Tue, 21 Apr 2026 08:45:36 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/6057.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 06 Jun 2003 07:19:00 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Zweites ActiveX nimmt die vorhergehenden Einstellungen on Fri, 06 Jun 2003 07:19:00 GMT]]></title><description><![CDATA[<p>Hallo!</p>
<p>Ich habe ein ActiveX-Steuerelement mit dem MFC-ActiveX.. Assistenten erstellt.Nun habe ich dem Steuerelement eine Hintergrundfarbe-Eigenschaft hinzugefügt.Sie läuft ganz gut! Wenn ich sie ändere dann wird die Hintergrundfarbe automatisch geändert. Nun habe ich festgestellt das, wenn ich ein zweites solches Steuerelement auf die Form ziehe die Eigenschaften des ersten Steuerelements übernommen werden.Wie kann ich das verhindern ?</p>
<p>Vielen Dank im voraus!<br />
Ronny.W <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/29386</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/29386</guid><dc:creator><![CDATA[Ronny.W]]></dc:creator><pubDate>Fri, 06 Jun 2003 07:19:00 GMT</pubDate></item><item><title><![CDATA[Reply to Zweites ActiveX nimmt die vorhergehenden Einstellungen on Fri, 06 Jun 2003 07:49:00 GMT]]></title><description><![CDATA[<p>Steht die Eigenschaft in der Klasse oder in der CPP) ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/29387</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/29387</guid><dc:creator><![CDATA[RenéG]]></dc:creator><pubDate>Fri, 06 Jun 2003 07:49:00 GMT</pubDate></item><item><title><![CDATA[Reply to Zweites ActiveX nimmt die vorhergehenden Einstellungen on Fri, 06 Jun 2003 08:28:00 GMT]]></title><description><![CDATA[<p>ja steht sie! ich habs jetzt mal anders gemacht! Ich hab die Variablen als private membervariable deklariert! Das funktioniert! Allerdings wenn ich jetzt ein Steuerelement auf der Form kopiere, werden die Einstellungen des kopierten Steuerelements nicht übernohmen. Wie kann ich denn das realisieren ?<br />
Kannst du mich weiterhelfen ?</p>
<p>Vielen Dank!</p>
<p>Ronny.W :p</p>
]]></description><link>https://www.c-plusplus.net/forum/post/29388</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/29388</guid><dc:creator><![CDATA[Ronny.W]]></dc:creator><pubDate>Fri, 06 Jun 2003 08:28:00 GMT</pubDate></item><item><title><![CDATA[Reply to Zweites ActiveX nimmt die vorhergehenden Einstellungen on Fri, 06 Jun 2003 08:58:00 GMT]]></title><description><![CDATA[<p>Es gibt mehrere Möglichkeiten:<br />
1. die komplexeste unter Nutzung des Clipboards<br />
- das Ax wird in ein IDataObject serialisiert<br />
- per OleSetClipboard in die Zwischenablage geschoben<br />
- beim Einfügen auf die Daten des IDataObject zugreifen<br />
- ein CFile daraus anlegen<br />
- diesen FilePointer bei CWnd::CreateControl übergeben (die Initialisierungsdaten)</p>
<p>2. einfacher ohne Nutzung des Clipboards<br />
- OleSave oder OleSaveToStream aufrufen (je nachdem, welche Schnittstellen das Ax unterstützt)<br />
- Stream in CFile umwandeln (möglicherweise ein CMemFile nehmen)<br />
- aus FilePointer wie oben neues Control initialisieren</p>
]]></description><link>https://www.c-plusplus.net/forum/post/29389</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/29389</guid><dc:creator><![CDATA[RenéG]]></dc:creator><pubDate>Fri, 06 Jun 2003 08:58:00 GMT</pubDate></item><item><title><![CDATA[Reply to Zweites ActiveX nimmt die vorhergehenden Einstellungen on Fri, 06 Jun 2003 09:13:00 GMT]]></title><description><![CDATA[<p>Hallo!</p>
<p>Leider bin ich noch nicht so unbedingt der Profi (aber ich arbeite drann <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    />). Kannst du mir die zweite Variante vielleicht etwas ausführlicher erklären ? Das wäre sehr nett!</p>
<p>Vielen Dank.<br />
Ronny.W</p>
]]></description><link>https://www.c-plusplus.net/forum/post/29390</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/29390</guid><dc:creator><![CDATA[Ronny.W]]></dc:creator><pubDate>Fri, 06 Jun 2003 09:13:00 GMT</pubDate></item><item><title><![CDATA[Reply to Zweites ActiveX nimmt die vorhergehenden Einstellungen on Fri, 06 Jun 2003 10:13:00 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">// Speichern
HRESULT SaveAxToStream( /*in*/CWnd* pAx, /*out*/LPSTREAM* ppStm)
{
    LPUNKNOWN pUnk = pAx-&gt;GetControlUnknown(); // Abfrage des Ax
    HRESULT hr = S_OK;
    IPersistStream*  pPStm;
    // Persistenzschnittstellen abfragen
    if( FAILED( pUnk-&gt;QueryInterface( IID_IPersistStream, (LPVOID*)&amp;pPStm)) ||
      FAILED( pUnk-&gt;QueryInterface( IID_IPersistStreamInit, (LPVOID*)&amp;pPStm)))
          return hr;
    if( SUCCEEDED( CreateStreamOnHGlobal( NULL, TRUE, ppStm)))  // Stream erstellen
        // Speichern
        hr = OleSaveToStream( pPStm, *ppStm);
    pPStm-&gt;Release();
    return hr;
}

BOOL CMeinDialog::KopiereActiveX( CWnd* pAxSrc, CWnd* pWndDest)
{
  BOOL bRet = FALSE;
  LPSTREAM pStm;
  if( FAILED( SaveAxToStream( pAxSrc, &amp;pStm)))
    return bRet;
  IPersist* pPersist;
  if( SUCCEEDED( pStm-&gt;QueryInterface( IID_IPersist, (LPVOID*)&amp;pPersist)))
  {
    CLSID clsid;
    pPersist-&gt;GetClassID( &amp;clsid);
    pPersist-&gt;Release();
    HGLOBAL hGlobal;
    GetHGlobalFromStream( pStm, &amp;hGlobal);
    LPVOID pData = GlobalLock( hGlobal);
    // MemoryFile von Stream erstellen
    CMemFile file( (LPBYTE)pData, GlobalSize( hGlobal));
    if( pWndDest-&gt;CreateControl( clsid, ..., &amp;file))  // Initialisierungsdaten an CreateControl übergeben
      bRet = TRUE;
    file.Detach();
    GlobalUnlock( hGlobal);
  }
  pStm-&gt;Release();
  return bRet;
}
</code></pre>
<p>[ Dieser Beitrag wurde am 06.06.2003 um 12:14 Uhr von <strong>RenéG</strong> editiert. ]</p>
]]></description><link>https://www.c-plusplus.net/forum/post/29391</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/29391</guid><dc:creator><![CDATA[RenéG]]></dc:creator><pubDate>Fri, 06 Jun 2003 10:13:00 GMT</pubDate></item><item><title><![CDATA[Reply to Zweites ActiveX nimmt die vorhergehenden Einstellungen on Fri, 06 Jun 2003 11:41:00 GMT]]></title><description><![CDATA[<p>Danke für den umfangreichen Code.<br />
Werde ihn gleich mal ausprobieren!</p>
<p>Allerdings auf den ersten Blick sieht es so aus als müsste ich eine funktion aufrufen um das ActiveX zu kopieren. Dachte aber eigentlich eher daran das dann auf der VB6 Form zu kopieren (mit rechten Maustaste ...), oder irre ich mich da?</p>
<p>Viele Dank für deine Mühe!</p>
<p>Gruß Ronny<br />
<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/29392</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/29392</guid><dc:creator><![CDATA[Ronny.W]]></dc:creator><pubDate>Fri, 06 Jun 2003 11:41:00 GMT</pubDate></item><item><title><![CDATA[Reply to Zweites ActiveX nimmt die vorhergehenden Einstellungen on Fri, 06 Jun 2003 12:12:00 GMT]]></title><description><![CDATA[<p>Toll ... <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>Nach Deinen ersten Informationen nahm ich an, du schreibst Deinen eigenen Container. Jetzt erzählst Du, dass Du den VB6-Formcontainer einsetzt!<br />
Bitte rück das nächste Mal etwas eher mit solch wichtigen Informationen heraus!</p>
<p>Was Du also vergessen hast, ist, dass das ActiveX seine Eigenschaften selber serialisieren muss.<br />
Handelt es sich um eine vordefinierte Eigenschaft (bei Dir also BackColor), sollte der Klassenassistent automatisch folgenden Code in das ActiveX geschrieben haben:<br />
DISP_STOCKPROP_BACKCOLOR( )</p>
<p>Ist das nicht der Fall, verweise ich Dich mal auf den Klassenassistenten!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/29393</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/29393</guid><dc:creator><![CDATA[RenéG]]></dc:creator><pubDate>Fri, 06 Jun 2003 12:12:00 GMT</pubDate></item><item><title><![CDATA[Reply to Zweites ActiveX nimmt die vorhergehenden Einstellungen on Fri, 06 Jun 2003 12:18:00 GMT]]></title><description><![CDATA[<p>Vielen Dank für deine Hilfe,<br />
werde es gleich mal ausprobieren!</p>
<p>Gruß Ronny :p</p>
]]></description><link>https://www.c-plusplus.net/forum/post/29394</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/29394</guid><dc:creator><![CDATA[Ronny.W]]></dc:creator><pubDate>Fri, 06 Jun 2003 12:18:00 GMT</pubDate></item></channel></rss>