void winclose(pdfapp_t *app) { if (pdfapp_preclose(app)) { closing = 1; } }
void winclose(pdfapp_t *app) { if (pdfapp_preclose(app)) { pdfapp_close(app); exit(0); } }
LRESULT CALLBACK frameproc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) { switch(message) { case WM_SETFOCUS: PostMessage(hwnd, WM_APP+5, 0, 0); return 0; case WM_APP+5: SetFocus(hwndview); return 0; case WM_DESTROY: PostQuitMessage(0); return 0; case WM_SYSCOMMAND: if (wParam == ID_ABOUT) { winhelp(&gapp); return 0; } if (wParam == ID_DOCINFO) { info(); return 0; } if (wParam == SC_MAXIMIZE) gapp.shrinkwrap = 0; break; case WM_SIZE: { // More generally, you should use GetEffectiveClientRect // if you have a toolbar etc. RECT rect; GetClientRect(hwnd, &rect); MoveWindow(hwndview, rect.left, rect.top, rect.right-rect.left, rect.bottom-rect.top, TRUE); return 0; } case WM_SIZING: gapp.shrinkwrap = 0; break; case WM_NOTIFY: case WM_COMMAND: return SendMessage(hwndview, message, wParam, lParam); case WM_CLOSE: if (!pdfapp_preclose(&gapp)) return 0; } return DefWindowProc(hwnd, message, wParam, lParam); }