============================================================================= MsgBox()
| 56 | // MsgBox() |
| 57 | // |
| 58 | int 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, |
no outgoing calls
no test coverage detected