| 77 | } |
| 78 | |
| 79 | LRESULT CALLBACK |
| 80 | StatusWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) |
| 81 | { |
| 82 | RECT rt; |
| 83 | PAINTSTRUCT ps; |
| 84 | HDC hdc; |
| 85 | PNHStatusWindow data; |
| 86 | |
| 87 | data = (PNHStatusWindow) GetWindowLong(hWnd, GWL_USERDATA); |
| 88 | switch (message) { |
| 89 | case WM_MSNH_COMMAND: { |
| 90 | switch (wParam) { |
| 91 | case MSNH_MSG_PUTSTR: |
| 92 | case MSNH_MSG_CLEAR_WINDOW: |
| 93 | ZeroMemory(data->window_text, sizeof(data->window_text)); |
| 94 | FormatStatusString(data->window_text, data->nhstat_format); |
| 95 | break; |
| 96 | |
| 97 | case MSNH_MSG_CURSOR: { |
| 98 | PMSNHMsgCursor msg_data = (PMSNHMsgCursor) lParam; |
| 99 | if (msg_data->y == 0) { |
| 100 | InvalidateRect(hWnd, NULL, TRUE); |
| 101 | } |
| 102 | } break; |
| 103 | } |
| 104 | } break; |
| 105 | |
| 106 | case WM_PAINT: { |
| 107 | HGDIOBJ oldFont; |
| 108 | TCHAR wbuf[MAXWINDOWTEXT]; |
| 109 | COLORREF OldBg, OldFg; |
| 110 | |
| 111 | hdc = BeginPaint(hWnd, &ps); |
| 112 | GetClientRect(hWnd, &rt); |
| 113 | |
| 114 | oldFont = SelectObject( |
| 115 | hdc, mswin_get_font(NHW_STATUS, ATR_NONE, hdc, FALSE)); |
| 116 | OldBg = SetBkColor(hdc, mswin_get_color(NHW_STATUS, MSWIN_COLOR_BG)); |
| 117 | OldFg = |
| 118 | SetTextColor(hdc, mswin_get_color(NHW_STATUS, MSWIN_COLOR_FG)); |
| 119 | |
| 120 | DrawText(hdc, NH_A2W(data->window_text, wbuf, MAXWINDOWTEXT), |
| 121 | strlen(data->window_text), &rt, DT_LEFT | DT_NOPREFIX); |
| 122 | |
| 123 | SetTextColor(hdc, OldFg); |
| 124 | SetBkColor(hdc, OldBg); |
| 125 | SelectObject(hdc, oldFont); |
| 126 | EndPaint(hWnd, &ps); |
| 127 | } break; |
| 128 | |
| 129 | case WM_DESTROY: |
| 130 | free(data); |
| 131 | SetWindowLong(hWnd, GWL_USERDATA, (LONG) 0); |
| 132 | break; |
| 133 | |
| 134 | case WM_SETFOCUS: |
| 135 | SetFocus(GetNHApp()->hMainWnd); |
| 136 | break; |
nothing calls this directly
no test coverage detected