Guybrush Threepwood Geschrieben 27. Januar 2003 Geschrieben 27. Januar 2003 Hi, ich habe mit Visual C++6.0 in meine Dialogresource per Rechtemaustaste->ActiveX Steuerelement einfügen... ein Shockwave Flash Objekt eingefügt um eine Flashanimation darzustellen. In der Dialogvorschau von Visual C++ klappt das auch ohne Probleme, aber wenn ich mein Programm starte wird der Dialog nicht angezeigt, sobald ich das Flash Objekt entferne gehts. Weiß einer was ich machen muß damit es auch mit Flash Objekt geht? Gruß Guybrush Zitieren
Guybrush Threepwood Geschrieben 28. Januar 2003 Autor Geschrieben 28. Januar 2003 Ich hab dazu jetzt was in der MSDN Library gefunden: Hinweis Fügen Sie keine ActiveX-Steuerelemente aus der Komponentensammlung zu ATL-Projekten ohne MFC-Unterstützung, zu Win32- Projekten oder zu anderen Projekten ohne .clw-Datei hinzu. Wenn Sie in einem solchen Projekt ein ActiveX-Steuerelement benötigen, fügen Sie die .DLL des Steuerelements mit Hilfe von #import zum Projekt hinzu, und fügen Sie dann das Steuerelement mit dem Befehl ActiveX-Steuerelement einfügen aus dem Kontextmenü des Ressourcen-Editors zu den gewünschten Dialogen hinzu. Sofern die Dialogklassen MFC-basiert sind, sollten Sie von den Assistenten unterstützt werden. Das Steuerelement wird jedoch nicht auf der Ressourcen-Palette angezeigt. Kann mir jemand sagen wie ich rausbekomme welche DLL zu einem Steuerelement gehört? Gruß Guybrush Zitieren
Klotzkopp Geschrieben 28. Januar 2003 Geschrieben 28. Januar 2003 Du kannst in HKEY_CLASSES_ROOT\CLSID nach dem Namen suchen. Da sollte dann unter InprocServer32 der Dateiname der DLL/OCX stehen. Beim Flash-Control wäre das bei mir: #import "C:\WINDOWS\System32\macromed\flash\swflash.ocx" Durch die import-Direktive wird im Ausgabeverzeichnis (üblicherweise Debug oder Release) eine .tlh- und eine .tli-Datei angelegt. Zitieren
Guybrush Threepwood Geschrieben 28. Januar 2003 Autor Geschrieben 28. Januar 2003 ok, bei mir ist es im system anstatt im system32 Ordner aber das liegt ja an Win98. Es werden auch eine iswframe.tlh und iswframe.tli im Debug Ordner erstellt, das scheinen die Richtigen zu sein. Danke! Trotzdem wird der Dialog mit Flashobjekt nicht dargestellt:confused: Zitieren
Guybrush Threepwood Geschrieben 28. Januar 2003 Autor Geschrieben 28. Januar 2003 Verwendest du die MFC? Nee, alles WinAPI Zitieren
Klotzkopp Geschrieben 28. Januar 2003 Geschrieben 28. Januar 2003 Originally posted by Guybrush Threepwood Nee, alles WinAPI Hm. Ohne MFC könnte das kompliziert werden. Vielleicht hilft das: http://msdn.microsoft.com/library/en-us/vcmfc98/html/vcconatlcontrolcontainmentfaq.asp?frame=true Zitieren
Guybrush Threepwood Geschrieben 28. Januar 2003 Autor Geschrieben 28. Januar 2003 Danke, ich lese mir das mal durch. Was ich aber nicht verstehe ist wieso Visual C++ den Dialog ohne Probleme in der Vorschau anzeigen kann, dann müßte es doch genauso später im Programm laufen. Zitieren
Guybrush Threepwood Geschrieben 28. Januar 2003 Autor Geschrieben 28. Januar 2003 Also... soweit ich das der Seite entnehmen konnte muß man um einen Dialog zu erzeugen der als ActiveX Container dienen soll anstatt DialogBox() AtlAxDialogBox() verwenden. Die ATL Funktionen werden mit AtlAxWinInit() initialisiert und das alles steht in der atlbase.h und der atl.lib. Ich hab aber trotzdem noch ein Problem:rolleyes:, soblad ich die atlbase.h include become ich bei #import "c:\window\...\swflash.ocx" folgende Fehlermeldung: fatal error C1083: Include-Datei kann nicht geoeffnet werden: 'z:\entwicklung\downloadclient\downloadclient\debug\swflash.tlh': Permission denied Wenn ich es auskommentiere kommt kein Fehler und wenn ich dann das Programm starte und den Dialog aufrufe wird er samt Flashobjekt angezeigt, nur leider wird der Flashfilm nicht geladen so das das Objekt leer bleibt. Zitieren
Klotzkopp Geschrieben 28. Januar 2003 Geschrieben 28. Januar 2003 Originally posted by Guybrush Threepwood fatal error C1083: Include-Datei kann nicht geoeffnet werden: 'z:\entwicklung\downloadclient\downloadclient\debug\swflash.tlh': Permission deniedIst die Datei noch irgendwo geöffnet? Kannst du sie von Hand löschen? Zitieren
Guybrush Threepwood Geschrieben 28. Januar 2003 Autor Geschrieben 28. Januar 2003 Ich hab mal den ganzen Debug Ordner geleert und jetzt gehts. Trotzdem wird der Flashfilm irgendwie nicht geladen und auch die Hintergrundfarbe die ich für das Objekt eingestellt habe wird nicht übernommen sondern es bleibt weiß. Ich glaube ich versuche mal das Flashobjekt "per Hand" mit AtlAxCreateControlEx() zu erstellen, mal sehen ob es dann klappt. Dummerweise muß ich jetzt erst was anderes machen. Trotzdem schonmal Danke für die Hilfe! Gruß Guybrush Zitieren
Guybrush Threepwood Geschrieben 28. Januar 2003 Autor Geschrieben 28. Januar 2003 Ich hab da mal ne kurze Verständnisfrage: Wenn ich im Resourceneditor ein ActiveX Steuerelement in einen Dialog einfüge, ist dann der Dialog oder das was ich dahin klicke der Container für das Steuerelement? Zitieren
Guybrush Threepwood Geschrieben 30. Januar 2003 Autor Geschrieben 30. Januar 2003 Hat irgendwer vielleicht noch Idee warum zwar das Shockwave Flash Objekt im Dialog dargestellt wird, es aber weder den im Resourceneditor angegebenen Flash Film oder die Hintergrundfarbe anzeigt? Zitieren
Guybrush Threepwood Geschrieben 30. Januar 2003 Autor Geschrieben 30. Januar 2003 Habe gerade erstaunt festgestellt das das ganze sehr wohl funktioniert, zumindest auf einem WindowsXP PC obwohl er eine ältere Version der swflash.ocx hat als der Win98 PC uaf dem es nicht klappt:confused: Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.