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的完整版本的效果相同。
答案 0 :(得分:0)
您是否在stdafx.h中包含了正确的标题?更具体地说,你需要
#include&lt; afxext.h&gt;
#include&lt; afxcontrolbars.h&gt;
能够使用MFC Next(功能包)类。
无论如何它都无法在VS Express上运行,因为它不包括MFC。