/*******************************************************************************/ /** Tut.hpp **/ /*******************************************************************************/ /** **/ /** Public file of the TUT dll **/ /** **/ /*******************************************************************************/ /** Author : Alexis Vaisse **/ /*******************************************************************************/ #ifndef __TUT_H__ #define __TUT_H__ #define TUT_C_lQueryRegisterControl 1 #define TUT_C_lQueryUnregisterControl 2 #define TUT_C_lQueryRegisterMenu 3 typedef enum TUT_eControlType_ { TUT_e_Window , TUT_e_MdiWindow , TUT_e_Button , TUT_e_TextEdit , TUT_e_ListBox , TUT_e_ComboBox , TUT_e_TreeCtrl , TUT_e_ListCtrl , TUT_e_Spin , TUT_e_Slider , TUT_e_ScrollBar , TUT_e_UserWindow, TUT_e_3DView } TUT_tdeControlType; typedef struct TUT_stQueryWindowStructure_ { HWND hHandleOfControl; CString csNameOfControl; TUT_tdeControlType eTypeOfControl; } TUT_tdstQueryWindowStructure; typedef struct TUT_stQueryMenuStructure_ { HMENU hHandleOfMenu; HWND hHandleOfWindow; int iX , iY; } TUT_tdstQueryMenuStructure; #define TUT_M_vGetTutDll() CPA_ToolDLLBase * p_oTutDll = ((CPA_ProjectApp *) AfxGetApp ()) -> fn_p_oGetMainWorld () -> GetToolDLLWithName (C_szDLLTutorialName); /* Register with a handle*/ #define TUT_M_vRegisterControl(hHandle,csName,eType) \ if (p_oTutDll) \ { \ TUT_tdstQueryWindowStructure stQueryStructure; \ stQueryStructure . hHandleOfControl = hHandle; \ stQueryStructure . csNameOfControl = csName; \ stQueryStructure . eTypeOfControl = eType; \ p_oTutDll -> OnQueryAction (NULL , TUT_C_lQueryRegisterControl , (LPARAM) & stQueryStructure); \ } #define TUT_M_vUnregisterControl(hHandle) \ if (p_oTutDll) \ { \ p_oTutDll -> OnQueryAction (NULL , TUT_C_lQueryUnregisterControl , (LPARAM) hHandle); \ } #define TUT_M_vRegisterMenu(hWindow,hMenu,iXMenu,iYMenu) \ if (p_oTutDll) \ { \ TUT_tdstQueryMenuStructure stQueryStructure; \ stQueryStructure . hHandleOfMenu = hMenu; \ stQueryStructure . hHandleOfWindow = hWindow; \ stQueryStructure . iX = iXMenu; \ stQueryStructure . iY = iYMenu; \ p_oTutDll -> OnQueryAction (NULL , TUT_C_lQueryRegisterMenu , (LPARAM) & stQueryStructure); \ } /* Register with an ID*/ #define TUT_M_vRegisterControlID(iID,csName,eType) TUT_M_vRegisterControl (GetDlgItem (iID) -> m_hWnd , csName , eType); #define TUT_M_vUnregisterControlID(iID) TUT_M_vUnregisterControl (GetDlgItem (iID) -> m_hWnd); /* Register a CPA_DialogList*/ #define TUT_M_vRegisterDialogList(p_oDialogList,csListName,csTreeName,csComboName,csTestButtonName) \ TUT_M_vRegisterControl (p_oDialogList -> GetListHandle () , csListName , TUT_e_ListCtrl); \ TUT_M_vRegisterControl (p_oDialogList -> GetTreeHandle () , csTreeName , TUT_e_TreeCtrl); \ TUT_M_vRegisterControl (p_oDialogList -> GetComboHandle () , csComboName , TUT_e_ComboBox); \ TUT_M_vRegisterControl (p_oDialogList -> GetTestButtonHandle () , csTestButtonName , TUT_e_Button ); #endif /* __TUT_H__*/