/*
	DEFOOP.CPP - (C) 1990 by Joachim Kainz 'On a mission from Bhudda'
*/
	#include <dialog.hpp>
	#include <dde.h>
/*
	DefOOPWndProc:
*/
	long FAR PASCAL _export DefOOPWndProc (
								HWND	hWnd,
								WORD	wMsg,
								WORD	wParam,
								LONG	lParam
							)
	{
		WINDOW far * lpWnd;

		lpWnd = (WINDOW far *) GetWindowLong (hWnd, 0);

		if (wMsg < WM_QUERYDRAGICON)
			return lpWnd->WndKernelProc (wMsg, wParam, lParam);

		if (wMsg < WM_COMPAREITEM)
			return lpWnd->WndTransProc  (wMsg, wParam, lParam);

		if (wMsg < WM_NCCREATE)
			return lpWnd->WndCompProc   (wMsg, wParam, lParam);

		if (wMsg < WM_KEYFIRST)
			return lpWnd->WndNCProc     (wMsg, wParam, lParam);

		if (wMsg < WM_INITDIALOG)
			return lpWnd->WndKeyProc    (wMsg, wParam, lParam);

		if (wMsg < WM_MOUSEFIRST)
			return lpWnd->WndDlgProc    (wMsg, wParam, lParam);

		if (wMsg < WM_PARENTNOTIFY)
			return lpWnd->WndMouseProc  (wMsg, wParam, lParam);

		if (wMsg < WM_CUT)
			return lpWnd->WndMdiProc    (wMsg, wParam, lParam);

		if (wMsg < WM_DDE_FIRST)
			return lpWnd->WndClipProc   (wMsg, wParam, lParam);

		if (wMsg < WM_USER)
			return lpWnd->WndDDEProc    (wMsg, wParam, lParam);

		return lpWnd->WndUserProc       (wMsg, wParam, lParam);
	}
/*
	DefOOPDlgProc:
*/
	long FAR PASCAL _export DefOOPDlgProc (
								HWND	hDlg,
								WORD	wMsg,
								WORD	wParam,
								LONG	lParam
							)
	{
		DIALOG far * lpDlg;

		lpDlg = (DIALOG far *) GetWindowLong (hDlg, DLGWINDOWEXTRA);

		if (wMsg < WM_QUERYDRAGICON)
			return lpDlg->WndKernelProc (wMsg, wParam, lParam);

		if (wMsg < WM_COMPAREITEM)
			return lpDlg->WndTransProc  (wMsg, wParam, lParam);

		if (wMsg < WM_NCCREATE)
			return lpDlg->WndCompProc   (wMsg, wParam, lParam);

		if (wMsg < WM_KEYFIRST)
			return lpDlg->WndNCProc     (wMsg, wParam, lParam);

		if (wMsg < WM_INITDIALOG)
			return lpDlg->WndKeyProc    (wMsg, wParam, lParam);

		if (wMsg < WM_MOUSEFIRST)
			return lpDlg->WndDlgProc    (wMsg, wParam, lParam);

		if (wMsg < WM_PARENTNOTIFY)
			return lpDlg->WndMouseProc  (wMsg, wParam, lParam);

		if (wMsg < WM_CUT)
			return lpDlg->WndMdiProc    (wMsg, wParam, lParam);

		if (wMsg < WM_DDE_FIRST)
			return lpDlg->WndClipProc   (wMsg, wParam, lParam);

		if (wMsg < WM_USER)
			return lpDlg->WndDDEProc    (wMsg, wParam, lParam);

		return lpDlg->WndUserProc       (wMsg, wParam, lParam);
	}
/*


		switch(wMsg) {


		  case WM_MOUSEMOVE:
			return WMMouseMove (wParam, MAKEPOINT (lParam));

		  case WM_LBUTTONDOWN:
			return WMLButtonDown	(wParam, MAKEPOINT (lParam));

		  case WM_LBUTTONUP:
			return WMLButtonUp (wParam, MAKEPOINT (lParam));

		  case WM_LBUTTONDBLCLK:
			return WMLButtonDblClk (wParam, MAKEPOINT (lParam));

		  case WM_RBUTTONDOWN:
			return WMRButtonDown (wParam, MAKEPOINT (lParam));

		  case WM_RBUTTONUP:
			return WMRButtonUp (wParam, MAKEPOINT (lParam));

		  case WM_RBUTTONDBLCLK:
			return WMRButtonDblClk (wParam, MAKEPOINT (lParam));

		  case WM_MBUTTONDOWN:
			return WMMButtonDown (wParam, MAKEPOINT (lParam));

		  case WM_MBUTTONUP:
			return WMMButtonUp (wParam, MAKEPOINT (lParam));

		  case WM_MBUTTONDBLCLK:
			return WMMButtonDblClk (wParam, MAKEPOINT (lParam));


		  case WM_CUT:
			return WMCut ();

		  case WM_COPY:
			return WMCopy ();

		  case WM_PASTE:
			return WMPaste ();

		  case WM_CLEAR:
			return WMClear ();

		  case WM_UNDO:
			return WMUndo ();

		  case WM_RENDERFORMAT:
			return WMRenderFormat (wParam);

		  case WM_RENDERALLFORMATS:
			return WMRenderALLFormats ();

		  case WM_DESTROYCLIPBOARD:
			return WMDestroyClipBoard ();

		  case WM_DRAWCLIPBOARD:
			return WMDrawClipBoard ();

		  case WM_PAINTCLIPBOARD:
			return WMPaintClipBoard (wParam, (LPPAINTSTRUCT) lParam);

		  case WM_VSCROLLCLIPBOARD:
			return WMVScrollClipBoard (wParam, LOWORD (lParam));

		  case WM_SIZECLIPBOARD:
			return WMSizeClipBoard (wParam, (LPRECT) lParam);

		  case WM_ASKCBFORMATNAME:
			return WMAskCBFormatName	((LPSTR) lParam, wParam);

		  case WM_CHANGECBCHAIN:
			return WMChangeCBChain (wParam, LOWORD (lParam));

		  case WM_HSCROLLCLIPBOARD:
			return WMHScrollClipBoard ();

		  case WM_QUERYNEWPALETTE:
			return WMQueryNewPalette (wParam);

		  case WM_PALETTEISCHANGING:
			return WMPaletteIsChanging ();

		  case WM_PALETTECHANGED:
			return WMPaletteChanged ();

		  case WM_MDIACTIVATE:
			return WMMDIActivate (
						wParam,
						HIWORD (lParam),
						LOWORD (lParam)
				   );

		}

		return WndProc(wMsg, wParam, lParam);
	}
*/
