Alphabetical Class List   File List   Compound Members  

Hoops3dStreamProperty.h

00001 // Hoops3dStreamProperty.h : Declaration of the CHoops3dStreamProperty
00002 
00003 #ifndef __Hoops3dStreamPROPERTY_H_
00004 #define __Hoops3dStreamPROPERTY_H_
00005 
00006 #include "resource.h"       // main symbols
00007 #include "guidlist.h"
00008 EXTERN_C const CLSID CLSID_Hoops3dStreamProperty;
00009 
00011 // CHoops3dStreamProperty
00012 class ATL_NO_VTABLE CHoops3dStreamProperty :
00013         public CComObjectRootEx<CComSingleThreadModel>,
00014         public CComCoClass<CHoops3dStreamProperty, &CLSID_Hoops3dStreamProperty>,
00015         public IPropertyPageImpl<CHoops3dStreamProperty>,
00016         public CDialogImpl<CHoops3dStreamProperty>
00017 {
00018 public:
00019         CHoops3dStreamProperty();
00020 
00021         enum {IDD = IDD_Hoops3dStreamPROPERTY};
00022 
00023 //DECLARE_REGISTRY_RESOURCEID(IDR_Hoops3dStreamPROPERTY)
00024 static void FixGuid(char *in1, char *in2, unsigned short *out1, unsigned short *out2)
00025 {
00026         char res[256];
00027         strcpy(res, "{");
00028         strcat(res, in2);
00029         strcat(res, "}");
00030         mbstowcs(out2, res, strlen(res)+1);
00031         mbstowcs(out1, in1, strlen(in1)+1);
00032 }
00033 
00034 
00035 static HRESULT WINAPI UpdateRegistry(BOOL bRegister)
00036 {
00037  
00038  
00039                 _ATL_REGMAP_ENTRY entries[2];
00040 
00041                 unsigned short key1[256];
00042                 unsigned short data1[256];
00043          
00044 
00045                 FixGuid("PROPID", CLSID_HOOPS3DSTREAMPROPERTY_CLASS, key1, data1);
00046 
00047                 entries[0].szKey = key1;
00048                 entries[0].szData = data1;
00049                 entries[1].szKey = 0;
00050                 entries[1].szData = 0;
00051 
00052 
00053 
00054         return(_Module.UpdateRegistryFromResource(IDR_Hoops3dStreamPROPERTY, bRegister,entries));
00055 }
00056 
00057  
00058 
00059 DECLARE_PROTECT_FINAL_CONSTRUCT()
00060 
00061 BEGIN_COM_MAP(CHoops3dStreamProperty) 
00062         COM_INTERFACE_ENTRY(IPropertyPage)
00063 END_COM_MAP()
00064 
00065 BEGIN_MSG_MAP(CHoops3dStreamProperty)
00066         CHAIN_MSG_MAP(IPropertyPageImpl<CHoops3dStreamProperty>)
00067         COMMAND_HANDLER(IDC_BROWSE, BN_CLICKED, OnClickedBrowse)
00068         COMMAND_HANDLER(IDC_EMBED, BN_CLICKED, OnClickedEmbed)
00069         MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
00070 END_MSG_MAP()
00071 // Handler prototypes:
00072 //  LRESULT MessageHandler(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
00073 //  LRESULT CommandHandler(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
00074 //  LRESULT NotifyHandler(int idCtrl, LPNMHDR pnmh, BOOL& bHandled);
00075 
00076         STDMETHOD(Apply)(void);
00077  
00078 
00079         LRESULT OnClickedBrowse(WORD hNotifyCode, WORD wID, HWND hWNdCtl, BOOL &bHandled);      
00080  
00081         
00082         char m_filename[4096];
00083         bool m_embed;
00084  
00085         LRESULT OnClickedEmbed(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
00086  
00087 
00088         void ConvertToChar(char *mbstr, const wchar_t *wcstr, size_t count);
00089  
00090 
00091         LRESULT OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
00092  
00093 };
00094 
00095 
00096 
00097 #endif //__Hoops3dStreamPROPERTY_H_


Copyright © 2002 Tech Soft 3D