MCPcopy Create free account
hub / github.com/ProgerXP/Notepad2e / MsgBox

Function MsgBox

src/Dialogs.c:58–119  ·  view source on GitHub ↗

============================================================================= MsgBox()

Source from the content-addressed store, hash-verified

56// MsgBox()
57//
58int MsgBox ( int iType, UINT uIdMsg, ... )
59{
60 WCHAR szText [1024];
61 WCHAR szBuf [1024];
62 WCHAR szTitle[64];
63 int iIcon = 0;
64 HWND hwnd;
65 if ( !GetString ( uIdMsg, szBuf, COUNTOF ( szBuf ) ) ) {
66 return ( 0 );
67 }
68 wvsprintf ( szText, szBuf, ( LPVOID ) ( ( PUINT_PTR ) &uIdMsg + 1 ) );
69 if ( uIdMsg == IDS_ERR_LOADFILE || uIdMsg == IDS_ERR_SAVEFILE ||
70 uIdMsg == IDS_CREATEINI_FAIL || uIdMsg == IDS_WRITEINI_FAIL ||
71 uIdMsg == IDS_EXPORT_FAIL ) {
72 LPVOID lpMsgBuf;
73 WCHAR wcht;
74 FormatMessage (
75 FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS,
76 NULL,
77 dwLastIOError,
78 MAKELANGID ( LANG_NEUTRAL, SUBLANG_DEFAULT ),
79 ( LPTSTR ) &lpMsgBuf,
80 0,
81 NULL );
82 StrTrim ( lpMsgBuf, L" \a\b\f\n\r\t\v" );
83 StrCatBuff ( szText, L"\n", COUNTOF ( szText ) );
84 StrCatBuff ( szText, lpMsgBuf, COUNTOF ( szText ) );
85 LocalFree ( lpMsgBuf );
86 wcht = *CharPrev ( szText, StrEnd ( szText ) );
87 if ( IsCharAlphaNumeric ( wcht ) || wcht == '"' || wcht == '\'' ) {
88 StrCatBuff ( szText, L".", COUNTOF ( szText ) );
89 }
90 }
91 GetString ( IDS_APPTITLE, szTitle, COUNTOF ( szTitle ) );
92 switch ( iType ) {
93 case MBINFO:
94 iIcon = MB_ICONEXCLAMATION;
95 break;
96 case MBWARN:
97 iIcon = MB_ICONEXCLAMATION;
98 break;
99 case MBYESNO:
100 iIcon = MB_ICONEXCLAMATION | MB_YESNO;
101 break;
102 case MBYESNOCANCEL:
103 iIcon = MB_ICONEXCLAMATION | MB_YESNOCANCEL;
104 break;
105 case MBYESNOWARN:
106 iIcon = MB_ICONEXCLAMATION | MB_YESNO;
107 break;
108 case MBOKCANCEL:
109 iIcon = MB_ICONEXCLAMATION | MB_OKCANCEL;
110 break;
111 }
112 if ( ! ( hwnd = GetFocus() ) ) {
113 hwnd = hwndMain;
114 }
115 return MessageBoxEx ( hwnd,

Callers 15

EditCopyAppendFunction · 0.85
Encoding_GetFromListViewFunction · 0.85
EditInvertCaseFunction · 0.85
EditTitleCaseFunction · 0.85
EditSentenceCaseFunction · 0.85
EditURLEncodeFunction · 0.85
EditURLDecodeFunction · 0.85
EditEscapeCCharsFunction · 0.85
EditUnescapeCCharsFunction · 0.85
EditChar2HexFunction · 0.85
EditHex2CharFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected