#ifndef include_stdframe_h
#define include_stdframe_h
#define INCL_PM
#include <os2.h>

class StdFrame
{
  friend class StdFrameAux;
protected:

  StdFrame ();
  virtual ~StdFrame ();

  /* Message handling */
  unsigned msg;
  MPARAM mp1, mp2;
  virtual MRESULT frame_message (unsigned long, MPARAM, MPARAM);
  virtual MRESULT default_frame_message ();
  MRESULT (*old_wndproc) (HWND, unsigned long, MPARAM, MPARAM);

  /* Decoded messages */
  virtual void framemsg_windowposchanged (SWP *, unsigned);
  virtual int framemsg_querytrackinfo (unsigned short, TRACKINFO *);

  /* Attach/detach routines */
  int is_attached;
  HWND frame;
public:
  virtual void attach (HWND aframe);
  virtual void detach ();
};

#endif /* include_stdframe_h */
