在Visual C ++中创建CMFCDesktopAlertWnd控件

时间:2010-03-11 21:27:37

标签: c++ visual-studio mfc desktop-application

MSDN包含创建桌面警报窗口的示例: http://msdn.microsoft.com/en-us/library/bb983515.aspx

示例代码以以下声明开头。

CMFCDesktopAlertWnd* pPopup = new CMFCDesktopAlertWnd;

当我在我的代码中使用它时,编译器会抱怨

'CMFCDesktopAlertWnd' : no appropriate default constructor available

这是我的应用程序的完整源代码。 (我在Visual Studio中创建了一个空的Win32项目并进行了设置 属性| 在共享DLL中使用MFC 选项一般页面。)

#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;

我做错了什么? VS Express 2008和VS 2010的完整版本的效果相同。

1 个答案:

答案 0 :(得分:0)

  • 您使用的是VS 2008 SP1吗? (服务包很重要)
  • 您是否在stdafx.h中包含了正确的标题?更具体地说,你需要

    #include&lt; afxext.h&gt;

    #include&lt; afxcontrolbars.h&gt;

能够使用MFC Next(功能包)类。

无论如何它都无法在VS Express上运行,因为它不包括MFC。