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
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
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.
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:
Guybrush Threepwood Geschrieben 28. Januar 2003 Autor Geschrieben 28. Januar 2003 Verwendest du die MFC? Nee, alles WinAPI
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
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.
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.
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?
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
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?
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?
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:
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden