📄 mappp.h
字号:
// MapPP.h : Declaration of the CMapPP
#ifndef __MAPPP_H_
#define __MAPPP_H_
#include "resource.h" // main symbols
EXTERN_C const CLSID CLSID_MapPP;
/////////////////////////////////////////////////////////////////////////////
// CMapPP
class ATL_NO_VTABLE CMapPP :
public CComObjectRootEx<CComSingleThreadModel>,
public CComCoClass<CMapPP, &CLSID_MapPP>,
public IPropertyPageImpl<CMapPP>,
public CDialogImpl<CMapPP>
{
public:
CMapPP()
{
m_dwTitleID = IDS_TITLEMapPP;
m_dwHelpFileID = IDS_HELPFILEMapPP;
m_dwDocStringID = IDS_DOCSTRINGMapPP;
}
enum {IDD = IDD_MAPPP};
DECLARE_REGISTRY_RESOURCEID(IDR_MAPPP)
DECLARE_PROTECT_FINAL_CONSTRUCT()
BEGIN_COM_MAP(CMapPP)
COM_INTERFACE_ENTRY(IPropertyPage)
END_COM_MAP()
BEGIN_MSG_MAP(CMapPP)
CHAIN_MSG_MAP(IPropertyPageImpl<CMapPP>)
MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
COMMAND_HANDLER(IDC_X, EN_CHANGE, OnChange)
COMMAND_HANDLER(IDC_Y, EN_CHANGE, OnChange)
COMMAND_HANDLER(IDC_EXPRESSION, EN_CHANGE, OnChange)
END_MSG_MAP()
// Handler prototypes:
// LRESULT MessageHandler(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
// LRESULT CommandHandler(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
// LRESULT NotifyHandler(int idCtrl, LPNMHDR pnmh, BOOL& bHandled);
STDMETHOD(Apply)(void)
{
ATLTRACE(_T("CMapPP::Apply\n"));
for (UINT i = 0; i < m_nObjects; i++)
{
// Do something interesting here
// ICircCtl* pCirc;
// m_ppUnk[i]->QueryInterface(IID_ICircCtl, (void**)&pCirc);
// pCirc->put_Caption(CComBSTR("something special"));
// pCirc->Release();
USES_CONVERSION;
TCHAR strX[20],strY[20];
GetDlgItemText( IDC_X, strX, sizeof( strX ) );
GetDlgItemText( IDC_Y, strY, sizeof( strY ) );
CComQIPtr< IMap > pMap( m_ppUnk[i] );
pMap->put_MaxX( atof( T2CA(strX) ) );
pMap->put_MaxY( atof( T2CA(strY) ) );
BSTR bstrText=NULL;
GetDlgItemText( IDC_EXPRESSION, bstrText );
pMap->put_Expression( bstrText );
if( bstrText ) ::SysFreeString( bstrText );
}
m_bDirty = FALSE;
return S_OK;
}
LRESULT OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
{
CComQIPtr< IMap > pMap( m_ppUnk[0] );
double x,y;
pMap->get_MaxX( &x );
pMap->get_MaxY( &y );
char strX[20],strY[20];
::_gcvt(x,7,strX);
::_gcvt(y,7,strY);
USES_CONVERSION;
SetDlgItemText( IDC_X, A2CT(strX) );
SetDlgItemText( IDC_Y, A2CT(strY) );
CComBSTR sExp;
pMap->get_Expression( &sExp );
SetDlgItemText( IDC_EXPRESSION, OLE2CT( sExp ) );
SetDirty(FALSE); return 0;
}
LRESULT OnChange(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled)
{
SetDirty( TRUE ); return 0;
}
};
#endif //__MAPPP_H_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -