Veröffentlicht 27. Januar 200322 j 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
28. Januar 200322 j Autor 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
28. Januar 200322 j 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.
28. Januar 200322 j Autor 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:
28. Januar 200322 j 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
28. Januar 200322 j Autor 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.
28. Januar 200322 j Autor 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.
28. Januar 200322 j 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?
28. Januar 200322 j Autor 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
28. Januar 200322 j Autor 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?
30. Januar 200322 j Autor 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?
30. Januar 200322 j Autor 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:
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.