Files
Work/mdiwin/FRAME.HPP
2024-08-07 09:16:27 -04:00

70 lines
1.6 KiB
C++

#ifndef _FRAME_HPP_
#define _FRAME_HPP_
#include <mdiwin/mdifrm.hpp>
#include <mdiwin/view.hpp>
#include <mdiwin/slide.hpp>
#include <mdiwin/bwindow.hpp>
#include <mdiwin/block.hpp>
class Frame : public FrameWindow
{
public:
Frame(void);
~Frame();
static void Register(HINSTANCE hInstance);
long WndProc(UINT message,WPARAM wParam,LPARAM lParam);
int messageLoop(void);
static char far *ClassName(void);
void setAcceleratorTable(char *accelerator);
private:
enum{idFirstMDIChild=100};
enum {MaxFileName=60};
__declspec(dllexport) static int FAR PASCAL enumerateProcedure(HWND hWnd,LPARAM lParam);
void paint(void);
WORD processCommand(WPARAM wParam,LPARAM lParam);
HWND getClientHandle(void)const;
void setClientHandle(HWND hClientWnd);
void createMDIClientWindow(void);
void selectViewItem(int itemType);
void selectSlideItem(void);
void watchDocumentWindows(void);
void updateMenu(void)const;
void handleWindowListRequest(HWND hOwnerWindow);
void handleInvalidateRequest(HWND hExcludeWindow);
static char szClassName[];
static char szMenuName[];
static HINSTANCE smhInstance;
HACCEL mhAccelerator;
HWND mhClientWindow;
HMENU mhMainMenu;
Block<ViewWindow> mViewWindow;
Block<SlideWindow> mSlideWindow;
};
inline
HWND Frame::getClientHandle(void)const
{
return mhClientWindow;
}
inline
void Frame::setClientHandle(HWND hClientWnd)
{
mhClientWindow=hClientWnd;
}
inline
char far *Frame::ClassName(void)
{
return szClassName;
}
inline
void Frame::updateMenu(void)const
{ // for future use.
} // use this stub to selectively disable features of the frame menu.
#endif