2010-03-11 1 views
1

MSDN содержит пример для создания предупреждающего окна на рабочий стол: http://msdn.microsoft.com/en-us/library/bb983515.aspxСоздания CMFCDesktopAlertWnd управления в Visual C++

Пример кода начинается со следующим заявлением.

CMFCDesktopAlertWnd* pPopup = new CMFCDesktopAlertWnd; 

Когда я использую его в моем коде, компилятор жалуется

'CMFCDesktopAlertWnd' : no appropriate default constructor available 

Это полный исходный код моего приложения. (я создал пустой проект Win32 в Visual Studio и установите в Использование MFC в опции Shared DLL на недвижимость |. General страницы)

#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
  • Вы используете VS 2008 SP1? (Важный пакет услуг)
  • Вы включаете правильные заголовки в stdafx.h? Более конкретно, вам нужно

    < #include afxext.h>

    < #include afxcontrolbars.h>

, чтобы иметь возможность использовать MFC Next (Feature Pack) классы.

В любом случае он не будет работать на VS Express, потому что это не включает MFC.