PropertyPage mit Maus in den Vordergrund holen
-
ich habe eine PropertyPage abgeleitet von CBasePropertyPage. wenn ich mit der Maus in diese klicke erhält das Window keine WM_LBUTTONDOWN usw. also lässt sich das Fenster nicht in den Vordergrund bringen.
Was braucht die PropertyPage damit das geht?
-
Einige Infos wären nicht schlecht.
Wie hast Du das Propertysheet aufgebaut modal oder nichtmodal?
Gib doch einfach ein bißchen Code an, dann ist die Antwort vielleicht auf der Hand.
-
Die Page erbt von CBasePropertyPage(PSDK\multimedia\dshow\baseclasses\) und wird von GraphEdit in einem modalen Dialog angezeigt.
PropertyPage Window stylesSTYLE DS_SETFONT | DS_3DLOOK | DS_FIXEDSYS | WS_CHILD | WS_VISIBLE EXSTYLE WS_EX_NOPARENTNOTIFY
code ist eigentlich der gleiche wie "Creating a Filter Property Page"( http://msdn.microsoft.com/en-us/library/dd375010(VS.85).aspx )
-
Leider kenne ich das Beispiel nicht.
Aber bisher war es für Propertysheets und pages immer so, dass Du in der OnNotify Nachricht des Sheets die Meldungen zB TCN_SELCHANGE etc. behandelst.
Von Child Window gehen die Nachrichten zur Parentwindow. Nichts mit WM_ButtonDown etc. abfangen.
Aber vielleicht hat sich ja auch etwas geändert und es gibt mehr Möglichkeiten in den neueren VC Versionen.
-
Die einzigen Messages die von der Maus ankommen sind NCHITTEST und SETCURSOR.
WM_LBUTTONDOWN usw bekomme ich nicht.
-
eine Lösung ist so einfach wie blöd:
WM_NCHITTEST gibt per default immer NH_NOWHERE behandle ich die Message und gebe NH_CLIENT zurück, kann man den Dialog wieder nach vorn klicken.