GetDlgItem + WindowsMediaPlayer Ctrl funktioniert nicht mehr seit umstellung auf Studio2005
-
Hi leute

Zu aller erst sorry wenn dies das falsche Forum ist. ich weiss mittlerweile nicht mehr weiter, daher versuch ich es hier mal...
Ich habe ein Problem beim verstecken/unsichtbar schalten des Windows Media Players.
Eingebunden ist die Ressource via Wizard.
Unsichtbar schalten tue ich den WMP bisher so:
CDialog* dlgW = (CDialog*)GetDlgItem(IDC_OCX1); dlgW->ShowWindow(SW_HIDE);Allerdings funktioniert dies nicht mehr seit der Umstellung auf Studio 2005. In Studio2005 zeigt der pointer auf NULL, in VC6 ist der pointer valid.
Andere Ctrls wie z.B. Buttons, Eingabefelder oder das VLC Plugin erreiche ich nach wie vor in Studio2005 mit GetDlgItem() nur die WMP Ctrl nicht.
Hat jemand eine Idee oder nen Tipp?
Vielen Dank im voraus!
Mike
-
warum castes du das CWnd auf ein CDialog?
Versuchs mal so:CWnd* dlgW = GetDlgItem(IDC_OCX1); dlgW->ShowWindow(SW_HIDE);
-
hi,
CWnd* dlgW = GetDlgItem(IDC_OCX1); dlgW->ShowWindow(SW_HIDE);dlgW Zeiger ist immernoch NULL... Könnt ihr bei euch im Studio 2005 Zugriff auf die WMP Ctrl bekommen? In VC6 geht das Problemlos.
Gruss,
Mike
-
hab ich noch nicht benutzt dieses control, sorry...
-
Dann wirf mal den Spy an, und suche Dir mal das OCX Control. Dann weiß Du ob es die gleiche ID hat.
-
Hi Martin,
Ich hab mal nen leeres Projekt erstellt und dort die WMPCtrl hinzugefügt.
Wenn ich mit Spy über den Dialog fahre, habe ich keine Möglichkeit auf die WMPCtrl zu schauen bzw. ich kann mit dem Spy kein "hold" auf die WMPCtrl bekommen.
Wenn ich mir die Ressourcen aufliste im Spy++ fehlt auch die WMP Ressource.
Das ist merkwürdig. Das erklärt auch warum GetDlgItem() NULL zurückliefert.
Wüsstest du vieleicht warum das so ist? Muss ich den WMP anders einbinden als über den Wizard?
-
hast du das alles beachtet: http://msdn2.microsoft.com/en-us/library/bb262335(VS.85).aspx
-
Machine schrieb:
hast du das alles beachtet: http://msdn2.microsoft.com/en-us/library/bb262335(VS.85).aspx
Diese Variante habe ich noch nicht ausprobiert. Sollte ich fuer Studio 2005 diese ATL Variante bevorzugen?
In VC6 liefs so ab:
Dialog -> rechtsclick -> Insert ActiveX Control -> WMP.
In Studio 2005 kann ich auf die selbe art und weise den container hinzufügen nur mit dem unterschied, dass ich laut Spy++ keine WMP Ressource im Dialog besitze obwohl ich sie sehen kann beim ausführen der Anwendung.Gruss
-
hast du denn activex aktiviert?
wie gesagt, mit dem control hab ich noch nicht gearbeitet...
-
Machine schrieb:
hast du denn activex aktiviert?
wie gesagt, mit dem control hab ich noch nicht gearbeitet...Jap habs eben nochmal überprüft. WMP ist aktiviert und enabled. Aber Spy++ meldet mir keine WMPCtrl innerhalb meines TestDialogs.
Hab meinem TestDlg mal nen VLC ActiveX hinzugefügt. Dieser wird von Spy++ erkannt und auch GetDlgItem liefert ein valid result zurück.
Sehr strange..
Gruss