2010-03-11 2 views
1

MSDN contient un exemple pour la création d'une fenêtre d'alerte de bureau: http://msdn.microsoft.com/en-us/library/bb983515.aspxCréation CMFCDesktopAlertWnd contrôle dans Visual C++

L'exemple de code commence par la déclaration suivante.

CMFCDesktopAlertWnd* pPopup = new CMFCDesktopAlertWnd; 

Quand je l'utilise dans mon code, le compilateur se plaint

'CMFCDesktopAlertWnd' : no appropriate default constructor available 

Voici le code source complet de ma demande. (j'ai créé un projet Win32 vide dans Visual Studio et définissez la Utiliser les MFC dans une option DLL partagée sur la propriété |. Page Général)

#include <afxwin.h> 
#include <afxDesktopAlertDialog.h> 

class Notifier : public CWinApp 
{ 
public: 
     virtual BOOL InitInstance(); 
}; 

BOOL Notifier::InitInstance() 
{ 
     CMFCDesktopAlertWnd* pPopup = new CMFCDesktopAlertWnd; 
     return TRUE; 
} 

Notifier myApp; 

Qu'est-ce que je fais mal? L'effet est le même dans VS Express 2008 et la version complète de VS 2010.

Répondre

0
  • Utilisez-vous VS 2008 SP1? (Le service pack est important)
  • Incluez-vous les en-têtes appropriés dans stdafx.h? Plus précisément, vous avez besoin

    #include < afxext.h>

    #include < afxcontrolbars.h>

pour être en mesure d'utiliser des classes MFC suivant (Feature Pack).

Cela ne fonctionnera pas sur VS Express de toute façon, car cela n'inclut pas MFC.

Questions connexes