#define WIN32_LEAN_AND_MEAN
#define _CRT_SECURE_NO_DEPCREATE
#include <Windows.h>
#include <ObjBase.h>
#include "..\DuiLib\UIlib.h"
using namespace DuiLib;
#ifdef _DEBUG
# ifdef UNICODE
# pragma comment (lib, "..\\bin\\DuiLib_ud.lib")
# else
# pragma comment (lib, "..\\bin\\DuiLib_d.lib")
# endif
#else
# ifdef _UNICODE
# pragma comment (lib, "..\\bin\\DuiLib_u.lib")
# else
# pragma comment (lib, "..\\bin\\DuiLib.lib")
# endif
#endif
class CFrameWindowWnd :
public CWindowWnd, public INotifyUI
{
public:
CFrameWindowWnd(void);
//~CFrameWindowWnd(void);
LPCTSTR GetWindowClassName() const { return _T("abc"); };
UINT GetClassStyle() const { return UI_CLASSSTYLE_FRAME | CS_DBLCLKS; };
void OnFinalMessage(HWND) { delete this; };
void Notify(TNotifyUI &msg)
{
if (msg.sType == _T("click"))
{
if (msg.pSender->GetName() == _T("closebtn"))
Close();
}
}
LRESULT HandleMessage (UINT umsg, WPARAM wParam, LPARAM lParam)
{
if (umsg == WM_CREATE)
{
m_pm.Init(m_hWnd);
CControlUI *pButton = new CButtonUI;
pButton->SetName(_T("closebtn"));
pButton->SetBkColor(0xFFFF0000);
m_pm.AttachDialog(pButton);
m_pm.AddNotifier(this);
}
else if (umsg == WM_DESTROY)
{
::PostQuitMessage(0);
}
LRESULT lRes = 0;
if (m_pm.MessageHandler(umsg, wParam, lParam, lRes)) return lRes;
return CWindowWnd::HandleMessage(umsg, wParam, lParam);
}
private:
CPaintManagerUI m_pm;
};
int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE, LPSTR, int iCmdShow)
{
CPaintManagerUI::SetInstance(hInstance);
CPaintManagerUI::SetResourcePath(CPaintManagerUI::GetInstancePath());
CFrameWindowWnd *pFrame = new CFrameWindowWnd;
if (pFrame == NULL)
return 0;
pFrame->Create(NULL, _T("test"), UI_WNDSTYLE_FRAME, WS_EX_WINDOWEDGE);
pFrame->ShowWindow(true);
CPaintManagerUI::MessageLoop();
return 0;
}
在VS2010编译器下,打开WIN32框架,编译后出现:
这是什么情况呢,我没分了,真心求解啊