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 styles

    STYLE 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.


Anmelden zum Antworten