duilib 的DuiMessageBox

直接发源码!!

.h

#ifndef DUI_MESSAGEBOX_HPP
#define DUI_MESSAGEBOX_HPP
#include "StdAfx.h"
#include "WndShadow.h"

enum Dui_MessageBox_Type
{
	DUI_DEFAULT=0,
	DUI_YESNO
};

enum Dui_MessageBox_Return
{
	DUI_OK=0,
	DUI_CANCEL,
	DUI_YES,
	DUI_NO
};

class CDuiMessageBox : public CWindowWnd, public INotifyUI, public CNotifyPump
{
public:
	CDuiMessageBox(LPCTSTR lpTitle,
		LPCTSTR lpMsg,
		Dui_MessageBox_Type nType,
		Dui_MessageBox_Return* nReturn);
	
	LPCTSTR GetWindowClassName() const ;
	virtual UINT GetClassStyle() const;
	virtual void OnFinalMessage( HWND hWnd );
	virtual void Notify(TNotifyUI& msg);

	LRESULT OnCreate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
	LRESULT OnNcHitTest(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
	LRESULT OnSize(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
	LRESULT HandleMessage(UINT uMsg, WPARAM wParam, LPARAM lParam);
	LRESULT ResponseDefaultKeyEvent(WPARAM wParam);

	DUI_DECLARE_MESSAGE_MAP()
		
public:
	void OnClick(TNotifyUI& msg);
	void OnPrepare(TNotifyUI& msg);


	


	
private:
	CPaintManagerUI m_PaintManager;
	CWndShadow m_WndShadow;//窗口阴影

	CString m_szTitle;
	CString m_szMsg;
	Dui_MessageBox_Type m_nType;
	Dui_MessageBox_Return* m_nReturn ;
};

#endif // DUI_MESSAGEBOX_HPP

Dui_MessageBox_Return DuiMessageBox(HWND hWnd, LPCTSTR lpText, LPCTSTR lpTitle=NULL, Dui_MessageBox_Type nType=DUI_DEFAULT);
</pre><pre name="code" class="cpp">.cpp
<pre name="code" class="cpp">#include "DuiMessageBox.h"

/

DUI_BEGIN_MESSAGE_MAP(CDuiMessageBox, CNotifyPump)
	DUI_ON_MSGTYPE(DUI_MSGTYPE_WINDOWINIT, OnPrepare)
	DUI_ON_MSGTYPE(DUI_MSGTYPE_CLICK, OnClick)
DUI_END_MESSAGE_MAP()

CDuiMessageBox::CDuiMessageBox( LPCTSTR lpTitle, 
			LPCTSTR lpMsg,
			Dui_MessageBox_Type nType,
			Dui_MessageBox_Return* nReturn)
{
	m_szTitle = lpTitle;
	m_szMsg = lpMsg;
	m_nType = nType;
	m_nReturn = nReturn;
}

void CDuiMessageBox::OnFinalMessage( HWND 
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值