hl2_src-leak-2017/src/utils/mxtk/mxmessagebox.cpp

64 lines
1.4 KiB
C++

//
// mxToolKit (c) 1999 by Mete Ciragan
//
// file: mxMessageBox.cpp
// implementation: Win32 API
// last modified: Mar 14 1999, Mete Ciragan
// copyright: The programs and associated files contained in this
// distribution were developed by Mete Ciragan. The programs
// are not in the public domain, but they are freely
// distributable without licensing fees. These programs are
// provided without guarantee or warrantee expressed or
// implied.
//
#include "mxtk/mxMessageBox.h"
#include "mxtk/mxWindow.h"
#include <windows.h>
#include <commdlg.h>
#include <string.h>
int
mxMessageBox (mxWindow *parent, const char *msg, const char *title, int style)
{
HWND hwndParent = 0;
if (parent)
hwndParent = (HWND) parent->getHandle ();
UINT uType = 0;
if (style & MX_MB_OK)
uType |= MB_OK;
else if (style & MX_MB_YESNO)
uType |= MB_YESNO;
else if (style & MX_MB_YESNOCANCEL)
uType |= MB_YESNOCANCEL;
if (style & MX_MB_INFORMATION)
uType |= MB_ICONINFORMATION;
else if (style & MX_MB_ERROR)
uType |= MB_ICONHAND;
else if (style & MX_MB_WARNING)
uType |= MB_ICONEXCLAMATION;
else if (style & MX_MB_QUESTION)
uType |= MB_ICONQUESTION;
int ret = MessageBox (hwndParent, msg, title, uType);
switch (ret)
{
case IDOK:
case IDYES:
return 0;
case IDNO:
return 1;
case IDCANCEL:
return 2;
}
return 0;
}