TA的每日心情 | 郁闷 2023-6-14 10:06 |
---|
|
- #include "stdafx.h"
- #include "Resource.h"
- #include "XMessageBox.h"
- #include "API.h"
- CXMessageBox::CXMessageBox()
- {
- }
- CXMessageBox::~CXMessageBox()
- {
- }
- BOOL CXMessageBox::Create(CString sMsg, CString sTitle, UINT nType, HWND hWnd)
- {
- int Width = 320, Height = 180;
- hWindow = XModalWnd_Create(Width, Height, sTitle, hWnd);
- if (!hWindow)
- {
- //创建失败返回
- return FALSE;
- }
- XWnd_SetLayoutSize(hWindow, 2, 24, 2, 2);
- XWnd_SetDragBorderSize(hWindow, 0, 0, 0, 0);
- HBKM hBkm = XWnd_GetBkManager(hWindow);
- COLORREF bCor = RGB(104, 33, 122);
- XBkM_AddBorder(hBkm, window_state_flag_leave, RGB(0, 0, 0), 191, 1);
- X::XSTxtC(S_CTRL, 0, Width - H_BTN, H_TITLE, sTitle, hWindow, Txt_Type_LC);
- int iLeft = Width - H_BTN_L - S_CTRL;
- int iTop = S_CTRL;
- X::XBtnC(iLeft, iTop, _T(""), hWindow, Btn_Type_Cls);
- iLeft = S_CTRL;
- iTop = H_TITLE + S_CTRL;
- X::XSTxtC(iLeft, iTop, Width - S_CTRL * 2, Height - H_TITLE - H_BTN - S_CTRL * 4, sMsg, hWindow, Txt_Type_CC);
- /*
- 按钮参数 含义
- MB_OK 默认值。有一个确认按钮在里面。
- MB_YESNO 有是和否在里面。
- MB_ABORTRETRYIGNORE 有Abort(放弃),Retry(重试)和Ignore(跳过)
- MB_YESNOCANCEL 消息框含有三个按钮:Yes,No和Cancel
- MB_RETRYCANCEL 有Retry(重试)和Cancel(取消)
- MB_OKCANCEL 消息框含有两个按钮:OK和Cancel
- */
- iTop = Height - H_BTN - S_CTRL*2;
- iLeft = Width - W_BTN - S_CTRL*2;
- switch (nType)
- {
- case MB_OK:
- {
- XEle_RegEventCPP(X::XBtnC(iLeft, iTop, _T("确定"), hWindow, Btn_Type_Btn), XE_BNCLICK, &CXMessageBox::OnBtnClick_OK);
- } break;
- case MB_YESNO:
- {
- XEle_RegEventCPP(X::XBtnC(iLeft, iTop, _T("否"), hWindow, Btn_Type_Btn), XE_BNCLICK, &CXMessageBox::OnBtnClick_No);
- iLeft -= W_BTN + S_CTRL;
- XEle_RegEventCPP(X::XBtnC(iLeft, iTop, _T("是"), hWindow, Btn_Type_Btn), XE_BNCLICK, &CXMessageBox::OnBtnClick_Yes);
- } break;
- case MB_ABORTRETRYIGNORE:
- {
- XEle_RegEventCPP(X::XBtnC(iLeft, iTop, _T("跳过"), hWindow, Btn_Type_Btn), XE_BNCLICK, &CXMessageBox::OnBtnClick_Ignore);
- iLeft -= W_BTN + S_CTRL;
- XEle_RegEventCPP(X::XBtnC(iLeft, iTop, _T("重试"), hWindow, Btn_Type_Btn), XE_BNCLICK, &CXMessageBox::OnBtnClick_Retry);
- iLeft -= W_BTN + S_CTRL;
- XEle_RegEventCPP(X::XBtnC(iLeft, iTop, _T("放弃"), hWindow, Btn_Type_Btn), XE_BNCLICK, &CXMessageBox::OnBtnClick_Abort);
- } break;
- case MB_YESNOCANCEL:
- {
- XEle_RegEventCPP(X::XBtnC(iLeft, iTop, _T("取消"), hWindow, Btn_Type_Btn), XE_BNCLICK, &CXMessageBox::OnBtnClick_Cancel);
- iLeft -= W_BTN + S_CTRL;
- XEle_RegEventCPP(X::XBtnC(iLeft, iTop, _T("否"), hWindow, Btn_Type_Btn), XE_BNCLICK, &CXMessageBox::OnBtnClick_No);
- iLeft -= W_BTN + S_CTRL;
- XEle_RegEventCPP(X::XBtnC(iLeft, iTop, _T("是"), hWindow, Btn_Type_Btn), XE_BNCLICK, &CXMessageBox::OnBtnClick_Yes);
- } break;
- case MB_RETRYCANCEL:
- {
- XEle_RegEventCPP(X::XBtnC(iLeft, iTop, _T("取消"), hWindow, Btn_Type_Btn), XE_BNCLICK, &CXMessageBox::OnBtnClick_Cancel);
- iLeft -= W_BTN + S_CTRL;
- XEle_RegEventCPP(X::XBtnC(iLeft, iTop, _T("重试"), hWindow, Btn_Type_Btn), XE_BNCLICK, &CXMessageBox::OnBtnClick_Retry);
- } break;
- case MB_OKCANCEL:
- {
- XEle_RegEventCPP(X::XBtnC(iLeft, iTop, _T("取消"), hWindow, Btn_Type_Btn), XE_BNCLICK, &CXMessageBox::OnBtnClick_Cancel);
- iLeft -= W_BTN + S_CTRL;
- XEle_RegEventCPP(X::XBtnC(iLeft, iTop, _T("确定"), hWindow, Btn_Type_Btn), XE_BNCLICK, &CXMessageBox::OnBtnClick_OK);
- } break;
- default:
- {
- XEle_RegEventCPP(X::XBtnC(iLeft, iTop, _T("确定"), hWindow, Btn_Type_Btn), XE_BNCLICK, &CXMessageBox::OnBtnClick_OK);
- }
- break;
- }
- return TRUE;
- }
- int CXMessageBox::Dialog()
- {
- return XModalWnd_DoModal(hWindow);
- }
- int CXMessageBox::OnBtnClick_OK(BOOL *pbHandled)
- {
- XModalWnd_EndModal(hWindow, IDOK);
- return 0;
- }
- int CXMessageBox::OnBtnClick_Yes(BOOL *pbHandled)
- {
- XModalWnd_EndModal(hWindow, IDYES);
- return 0;
- }
- int CXMessageBox::OnBtnClick_No(BOOL *pbHandled)
- {
- XModalWnd_EndModal(hWindow,IDNO);
- return 0;
- }
- int CXMessageBox::OnBtnClick_Abort(BOOL *pbHandled)
- {
- XModalWnd_EndModal(hWindow, IDABORT);
- return 0;
- }
- int CXMessageBox::OnBtnClick_Ignore(BOOL *pbHandled)
- {
- XModalWnd_EndModal(hWindow, IDIGNORE);
- return 0;
- }
- int CXMessageBox::OnBtnClick_Retry(BOOL *pbHandled)
- {
- XModalWnd_EndModal(hWindow, IDRETRY);
- return 0;
- }
- int CXMessageBox::OnBtnClick_Cancel(BOOL *pbHandled)
- {
- XModalWnd_EndModal(hWindow, IDCANCEL);
- return 0;
- }
复制代码
|
评分
-
查看全部评分
|