Méthode CBasePropertyPage.OnReceiveMessage

[La fonctionnalité associée à cette page, DirectShow, est une fonctionnalité héritée. Il a été remplacé par MediaPlayer, IMFMediaEngine et Audio/Video Capture dans Media Foundation. Ces fonctionnalités ont été optimisées pour Windows 10 et Windows 11. Microsoft recommande vivement au nouveau code d’utiliser MediaPlayer, IMFMediaEngine et La capture audio/vidéo dans Media Foundation au lieu de DirectShow, lorsque cela est possible. Microsoft suggère que le code existant qui utilise les API héritées soit réécrit pour utiliser les nouvelles API si possible.]

La OnReceiveMessage méthode est appelée lorsque la boîte de dialogue reçoit un message.

Syntaxe

virtual INT_PTR OnReceiveMessage(
   HWND   hwnd,
   UINT   uMsg,
   WPARAM wParam,
   LPARAM lParam
);

Paramètres

Hwnd

Handle vers la fenêtre.

uMsg

Message.

wParam

Premier paramètre de message.

lParam

Deuxième paramètre de message.

Valeur renvoyée

Retourne une valeur booléenne. La procédure de dialogue retourne cette valeur ; Pour plus d’informations, consultez la documentation du Kit de développement logiciel (SDK) de plateforme.

Notes

L’implémentation de la classe de base appelle DefWindowProc. Remplacez cette méthode pour gérer les messages liés aux contrôles de dialogue. Si la méthode de substitution ne gère pas un message particulier, elle doit appeler la méthode de classe de base.

Si l’utilisateur modifie des propriétés via les contrôles de boîte de dialogue, définissez l’indicateur CBasePropertyPage::m_bDirty sur TRUE. Appelez ensuite la méthode IPropertyPageSite::OnStatusChange sur le pointeur CBasePropertyPage::m_pPageSite pour informer le cadre.

Exemples

L’exemple suivant répond à un clic sur un bouton en mettant à jour une variable membre, qui est supposée être définie dans la classe dérivée. Cet exemple montre également une fonction d’assistance pour définir la sale status de la page de propriétés.

INT_PTR CMyProp::OnReceiveMessage(HWND hwnd,
  UINT uMsg, WPARAM wParam, LPARAM lParam)
{
    switch (uMsg)
    {
    case WM_COMMAND:
        if (LOWORD(wParam) == IDC_BUTTON1)
        {
            m_lNewVal = GetDlgItemInt(m_Dlg, IDC_EDIT1, 0, TRUE);
            SetDirty();
            return (INT_PTR)TRUE;
        }
        break;
    } // switch

    // Did not handle the message.
    return CBasePropertyPage::OnReceiveMessage(hwnd, uMsg, wParam, lParam);
}

// Helper function to update the dirty status.
void CMyProp::SetDirty()
{
    m_bDirty = TRUE;
    if (m_pPageSite)
    {
        m_pPageSite->OnStatusChange(PROPPAGESTATUS_DIRTY);
    }
}

Configuration requise

Condition requise Valeur
En-tête
Cprop.h (include Streams.h)
Bibliothèque
Strmbase.lib (builds de vente au détail) ;
Strmbasd.lib (builds de débogage)

Voir aussi

CBasePropertyPage, classe