//====START_GENERATED_PROLOG======================================
//
//
//   COMPONENT_NAME: odother
//
//   CLASSES: none
//
//   ORIGINS: 27
//
//
//   (C) COPYRIGHT International Business Machines Corp. 1995,1996
//   All Rights Reserved
//   Licensed Materials - Property of IBM
//   US Government Users Restricted Rights - Use, duplication or
//   disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
//
//   IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
//   ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
//   PURPOSE. IN NO EVENT SHALL IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR
//   CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
//   USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
//   OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE
//   OR PERFORMANCE OF THIS SOFTWARE.
//
//====END_GENERATED_PROLOG========================================
//
// @(#) 1.1 nt/src/samples/JavaPart/dialog.h, odjavapart, od96nt, odnt9712d 10/23/96 03:06:06 [ 3/21/97 17:41:03 ]

#ifndef IBMSample_DIALOG
#define IBMSample_DIALOG

extern "C" {
	#include <windows.h>
	#include <winuser.h>
	#include <objbase.h>
	#include <stdio.h>
}

class Dialog {
public:
	Dialog (HWND parentWindow, WORD resource);

	int Display ();

	virtual void Init (HWND window) {};
	virtual void Ok (HWND window) {};
	virtual void Cancel (HWND window) {};

	BOOL ProcessMessages (HWND hwnd, UINT iMsg, 
			      WPARAM wParam, LPARAM lParam);

protected:
	/*
	 *  Give a derived class an opportunity to handle command messages...
	 */
	virtual BOOL ProcessCommands (HWND hwnd, UINT iMsg, 
				      WPARAM wParam, LPARAM lParam);

private:
	HWND   fWND;
	LPTSTR fResource;
};

typedef LRESULT (CALLBACK* WNDPROC)(HWND, UINT, WPARAM, LPARAM);

BOOL CALLBACK ProcessWindowsMessages (HWND hwnd, UINT iMsg, 
				      WPARAM wParam, LPARAM lParam);

#endif /* IBMSample_DIALOG */
