| 111 | } |
| 112 | |
| 113 | LRESULT CALLBACK |
| 114 | NHMessageWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) |
| 115 | { |
| 116 | switch (message) { |
| 117 | case WM_CREATE: |
| 118 | onCreate(hWnd, wParam, lParam); |
| 119 | break; |
| 120 | |
| 121 | case WM_MSNH_COMMAND: |
| 122 | onMSNHCommand(hWnd, wParam, lParam); |
| 123 | break; |
| 124 | |
| 125 | case WM_PAINT: |
| 126 | onPaint(hWnd); |
| 127 | break; |
| 128 | |
| 129 | case WM_SETFOCUS: |
| 130 | SetFocus(GetNHApp()->hMainWnd); |
| 131 | break; |
| 132 | |
| 133 | #ifndef MSG_WRAP_TEXT |
| 134 | case WM_HSCROLL: |
| 135 | onMSNH_HScroll(hWnd, wParam, lParam); |
| 136 | break; |
| 137 | #endif |
| 138 | |
| 139 | case WM_VSCROLL: |
| 140 | onMSNH_VScroll(hWnd, wParam, lParam); |
| 141 | break; |
| 142 | |
| 143 | case WM_DESTROY: { |
| 144 | PNHMessageWindow data; |
| 145 | data = (PNHMessageWindow) GetWindowLong(hWnd, GWL_USERDATA); |
| 146 | free(data); |
| 147 | SetWindowLong(hWnd, GWL_USERDATA, (LONG) 0); |
| 148 | } break; |
| 149 | |
| 150 | case WM_SIZE: { |
| 151 | SCROLLINFO si; |
| 152 | int xNewSize; |
| 153 | int yNewSize; |
| 154 | PNHMessageWindow data; |
| 155 | |
| 156 | data = (PNHMessageWindow) GetWindowLong(hWnd, GWL_USERDATA); |
| 157 | |
| 158 | xNewSize = LOWORD(lParam); |
| 159 | yNewSize = HIWORD(lParam); |
| 160 | |
| 161 | if (xNewSize > 0 || yNewSize > 0) { |
| 162 | #ifndef MSG_WRAP_TEXT |
| 163 | data->xPage = xNewSize / data->xChar; |
| 164 | data->xMax = max(0, (int) (1 + data->max_text - data->xPage)); |
| 165 | data->xPos = min(data->xPos, data->xMax); |
| 166 | |
| 167 | ZeroMemory(&si, sizeof(si)); |
| 168 | si.cbSize = sizeof(si); |
| 169 | si.fMask = SIF_RANGE | SIF_PAGE | SIF_POS; |
| 170 | si.nMin = 0; |
nothing calls this directly
no test coverage detected