MWCLASS.H
//+--------------------------------------------------------------------------- 
// 
//  Microsoft Windows 
//  Copyright 1992 - 1998 Microsoft Corporation. 
// 
//  File:       mwclass.h 
// 
//  Contents:   definition of the main window class 
// 
//  Classes:    CMainWindow 
// 
//  Functions:  Exists 
// 
//  History:    6-08-94   stevebl   Created 
// 
//---------------------------------------------------------------------------- 
 
#ifndef __MWCLASS_H__ 
#define __MWCLASS_H__ 
 
#include <cwindow.h> 
#include <commdlg.h> 
 
#ifdef __cplusplus 
 
int Exists(TCHAR *sz); 
 
 
// List Box Element Structure 
struct TAG_LISTBOXELEMENT 
{ 
#define LBE_STORAGE     STGTY_STORAGE 
#define LBE_STREAM      STGTY_STREAM 
    unsigned uType; 
    BOOL fOpen; 
    void * pInterface; 
    union { 
        ULONG nChildren; 
        HWND hwndView; 
    }; 
    unsigned uIndent; 
    LPOLESTR pwcsName; 
}; 
typedef struct TAG_LISTBOXELEMENT LISTBOXELEMENT; 
 
//+--------------------------------------------------------------------------- 
// 
//  Class:      CMainWindow 
// 
//  Purpose:    Code for the main docfile viewer window and the main menu. 
// 
//  Interface:  CMainWindow          -- constructor 
//              InitInstance         -- instantiates the docfile viewer window 
//              Toggle               -- toggles a selection 
//              Expand               -- expands a selection 
//              Collapse             -- collapses a selection 
//              ExpandAll            -- expands an entire tree 
//              OpenFile             -- trys to load the docfile in _szFileName 
// 
//  History:    6-27-94   stevebl   Created 
// 
//  Notes:      only the public interface is listed here 
// 
//---------------------------------------------------------------------------- 
 
class CMainWindow: public CHlprWindow 
{ 
public: 
    CMainWindow(); 
    BOOL InitInstance(HINSTANCE, int); 
    void Toggle(long lIndex); 
    void Expand(long lIndex); 
    void Collapse(long lIndex); 
    void ExpandAll(long lIndex); 
    void OpenFile(void); 
    TCHAR _szFileName[MAX_PATH]; 
protected: 
    ~CMainWindow(); 
    LRESULT WindowProc(UINT uMsg, WPARAM wParam, LPARAM lParam); 
private: 
    LRESULT DoMenu(WPARAM wParam, LPARAM lParam); 
    LISTBOXELEMENT * CreateStreamElement(IStream * pstm); 
    LISTBOXELEMENT * CreateStorageElement(IStorage * pstg); 
    void DeleteElement(LISTBOXELEMENT * plbe); 
    BOOL LoadBitmaps(void); 
 
    HWND _hlb; 
    HBITMAP _hbmpStorage; 
    HBITMAP _hbmpStream; 
    COLORREF _crTextHigh; 
    COLORREF _crBkHigh; 
    COLORREF _crTextNorm; 
    COLORREF _crBkNorm; 
    WORD _wWidth; 
    OPENFILENAME _ofnFile; 
    TCHAR _szFileTitle[MAX_PATH]; 
    TEXTMETRIC _tm; 
    UINT _cyBitmap; 
    TCHAR _szHelpFile[MAX_PATH]; 
}; 
 
#endif // __cplusplus 
 
#endif // __MWCLASS_H__