⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 settingproppage.h

📁 控件形式的DLL
💻 H
字号:
// SettingPropPage.h : CSettingPropPage 的声明


#pragma once

#include "resource.h"       // 主符号

#include "_highcontrol.h"
#include "_highcontrol_i.c"

// CSettingPropPage

[
	coclass,
	threading("apartment"),
	vi_progid("HighControl.SettingPropPage"),
	progid("HighControl.SettingPropPage.1"),
	version(1.0),
	uuid("B1121823-1444-4C81-AC96-7DFF8121AE98"),
	helpstring("SettingPropPage Class")
]
class ATL_NO_VTABLE CSettingPropPage :
	public IPropertyPageImpl<CSettingPropPage>,
	public CDialogImpl<CSettingPropPage>
{
public:
	CSettingPropPage() 
	{
		m_dwTitleID = IDS_TITLESettingPropPage;
		m_dwHelpFileID = IDS_HELPFILESettingPropPage;
		m_dwDocStringID = IDS_DOCSTRINGSettingPropPage;
	}

	DECLARE_PROTECT_FINAL_CONSTRUCT()

	HRESULT FinalConstruct()
	{
		return S_OK;
	}
	
	void FinalRelease() 
	{
	}

	enum {IDD = IDD_SETTINGPROPPAGE};


BEGIN_MSG_MAP(CSettingPropPage)
	COMMAND_HANDLER(IDC_S_V1, EN_CHANGE, OnEnChangeSV1)
	COMMAND_HANDLER(IDC_S_A1, EN_CHANGE, OnEnChangeSA1)
	COMMAND_HANDLER(IDC_S_V2, EN_CHANGE, OnEnChangeSV2)
	COMMAND_HANDLER(IDC_S_A2, EN_CHANGE, OnEnChangeSA2)
	COMMAND_HANDLER(IDC_S_DTJ, EN_CHANGE, OnEnChangeSDtj)
	COMMAND_HANDLER(IDC_S_HHL, EN_CHANGE, OnEnChangeSHhl)
	COMMAND_HANDLER(IDC_S_YW, EN_CHANGE, OnEnChangeSYw)
	COMMAND_HANDLER(IDC_STR_UNIT_NAME, EN_CHANGE, OnEnChangeStrUnitName)
	COMMAND_HANDLER(IDC_STR_GZFS, EN_CHANGE, OnEnChangeStrGzfs)
	COMMAND_HANDLER(IDC_STR_ALARM, EN_CHANGE, OnEnChangeStrAlarm)
	COMMAND_HANDLER(IDC_EDIT_FONTSIZE, EN_CHANGE, OnEnChangeEditFontsize)
	CHAIN_MSG_MAP(IPropertyPageImpl<CSettingPropPage>)
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(Activate)(HWND hWndParent, LPCRECT prc, BOOL bModal)
	{
		// If we don't have any objects, this method should not be called
		// Note that OleCreatePropertyFrame will call Activate even if a call to SetObjects fails, so this check is required
		if (!m_ppUnk)
			return E_UNEXPECTED;

		// Use Activate to update the property page's UI with information
		// obtained from the objects in the m_ppUnk array

		// We update the page to display the Name and ReadOnly properties of the document

		// Call the base class
        HRESULT hr;
        hr = IPropertyPageImpl<CSettingPropPage>::Activate(hWndParent, prc, bModal);
		if (FAILED(hr))
			return hr;    		

		for (UINT i = 0; i < m_nObjects; i++)
        {
            CComQIPtr<IHControl, 
                   &IID_IHControl> pHControl(m_ppUnk[i]);
			//-----------------------------------------------------------1
   			short n_V1 = 0; 
    		if FAILED(pHControl->get_V1Value(&n_V1))
	    	{
                   return E_FAIL;
   			}		
    		SetDlgItemInt(IDC_S_V1, n_V1, FALSE);
			//-----------------------------------------------------------2
   			short n_A1 = 0; 
    		if FAILED(pHControl->get_A1Value(&n_A1))
	    	{
                   return E_FAIL;
   			}		
    		SetDlgItemInt(IDC_S_A1, n_A1, FALSE);
			//-----------------------------------------------------------3
   			short n_V2 = 0; 
    		if FAILED(pHControl->get_V2Value(&n_V2))
	    	{
                   return E_FAIL;
   			}		
    		SetDlgItemInt(IDC_S_V2, n_V2, FALSE);
			//-----------------------------------------------------------4
   			short n_A2 = 0; 
    		if FAILED(pHControl->get_A2Value(&n_A2))
	    	{
                   return E_FAIL;
   			}		
    		SetDlgItemInt(IDC_S_A2, n_A2, FALSE);
			//-----------------------------------------------------------5
   			short n_DTJ = 0; 
    		if FAILED(pHControl->get_DTJValue(&n_DTJ))
	    	{
                   return E_FAIL;
   			}		
    		SetDlgItemInt(IDC_S_DTJ, n_DTJ, FALSE);
			//-----------------------------------------------------------6
   			short n_HHL = 0; 
    		if FAILED(pHControl->get_HHLValue(&n_HHL))
	    	{
                   return E_FAIL;
   			}		
    		SetDlgItemInt(IDC_S_HHL, n_HHL, FALSE);
			//-----------------------------------------------------------7
   			short n_YW = 0; 
    		if FAILED(pHControl->get_YWValue(&n_YW))
	    	{
                   return E_FAIL;
   			}		
    		SetDlgItemInt(IDC_EDIT_FONTSIZE, n_YW, FALSE);
			//-----------------------------------------------------------7
   			n_YW = 0; 
    		if FAILED(pHControl->get_FontSize(&n_YW))
	    	{
                   return E_FAIL;
   			}		
    		SetDlgItemInt(IDC_EDIT_FONTSIZE, n_YW, FALSE);
 /**/		//-----------------------------------------------------------7
  			n_YW = 0; 
    		if FAILED(pHControl->get_AutoState(&n_YW))
	    	{
                   return E_FAIL;
   			}		
    		SetDlgItemInt(IDC_EDIT_AUTO_STATE, n_YW, FALSE);
  			n_YW = 0; 
    		if FAILED(pHControl->get_BtState(&n_YW))
	    	{
                   return E_FAIL;
   			}		
    		SetDlgItemInt(IDC_EDIT_BT_STATE, n_YW, FALSE);

			//-----------------------------------------------------------8     //pCirc->put_Caption(CComBSTR("something special"));
   			BSTR str_gzfs;
			CString str;
    		if FAILED(pHControl->get_GZFS(&str_gzfs))
	    	{
                   return E_FAIL;
   			}		
			str = str_gzfs;
			
    		SetDlgItemText(IDC_STR_GZFS, (LPCSTR)str);

			//----------------------------------------------------------10
			if FAILED(pHControl->get_UnitName(&str_gzfs))
			{
				return E_FAIL;
			}
			str = str_gzfs;
			SetDlgItemText(IDC_STR_UNIT_NAME,(LPCSTR)str);
			//-----------------------------------------------------------9
    		if FAILED(pHControl->get_BaoJing(&str_gzfs))
	    	{
                   return E_FAIL;
   			}	
			str = str_gzfs;
    		SetDlgItemText(IDC_STR_ALARM, (LPCSTR)str);//str_gzfs
			SysFreeString(str_gzfs);
			str.ReleaseBuffer();
	    }
	    return S_OK;
	}

	STDMETHOD(Apply)(void)
	{
        USES_CONVERSION;
	   	ATLTRACE(_T("CDiceMainPropPage::Apply\n"));
    	for (UINT i = 0; i < m_nObjects; i++)
	   	{
            CComQIPtr<IHControl, 
                   &IID_IHControl> pHControl(m_ppUnk[i]);

   			short m_s_v = (short)GetDlgItemInt(IDC_S_V1);
    		if FAILED(pHControl->put_V1Value(m_s_v))
	    	{
   				CComPtr<IErrorInfo> pError;
    			CComBSTR            strError;
	    		GetErrorInfo(0, &pError);
		    	pError->GetDescription(&strError);
			    MessageBox(OLE2T(strError), _T("Error"), MB_ICONEXCLAMATION);
   				return E_FAIL;
    		}	
   			m_s_v = (short)GetDlgItemInt(IDC_S_A1);
    		if FAILED(pHControl->put_A1Value(m_s_v))
	    	{
   				CComPtr<IErrorInfo> pError;
    			CComBSTR            strError;
	    		GetErrorInfo(0, &pError);
		    	pError->GetDescription(&strError);
			    MessageBox(OLE2T(strError), _T("Error"), MB_ICONEXCLAMATION);
   				return E_FAIL;
    		}	
   			m_s_v = (short)GetDlgItemInt(IDC_S_V2);
    		if FAILED(pHControl->put_V2Value(m_s_v))
	    	{
   				CComPtr<IErrorInfo> pError;
    			CComBSTR            strError;
	    		GetErrorInfo(0, &pError);
		    	pError->GetDescription(&strError);
			    MessageBox(OLE2T(strError), _T("Error"), MB_ICONEXCLAMATION);
   				return E_FAIL;
    		}	
   			m_s_v = (short)GetDlgItemInt(IDC_S_A2);
    		if FAILED(pHControl->put_A2Value(m_s_v))
	    	{
   				CComPtr<IErrorInfo> pError;
    			CComBSTR            strError;
	    		GetErrorInfo(0, &pError);
		    	pError->GetDescription(&strError);
			    MessageBox(OLE2T(strError), _T("Error"), MB_ICONEXCLAMATION);
   				return E_FAIL;
    		}	
   			m_s_v = (short)GetDlgItemInt(IDC_S_DTJ);
    		if FAILED(pHControl->put_DTJValue(m_s_v))
	    	{
   				CComPtr<IErrorInfo> pError;
    			CComBSTR            strError;
	    		GetErrorInfo(0, &pError);
		    	pError->GetDescription(&strError);
			    MessageBox(OLE2T(strError), _T("Error"), MB_ICONEXCLAMATION);
   				return E_FAIL;
    		}	
   			m_s_v = (short)GetDlgItemInt(IDC_S_HHL);
    		if FAILED(pHControl->put_HHLValue(m_s_v))
	    	{
   				CComPtr<IErrorInfo> pError;
    			CComBSTR            strError;
	    		GetErrorInfo(0, &pError);
		    	pError->GetDescription(&strError);
			    MessageBox(OLE2T(strError), _T("Error"), MB_ICONEXCLAMATION);
   				return E_FAIL;
    		}	
   			m_s_v = (short)GetDlgItemInt(IDC_S_YW);
    		if FAILED(pHControl->put_YWValue(m_s_v))
	    	{
   				CComPtr<IErrorInfo> pError;
    			CComBSTR            strError;
	    		GetErrorInfo(0, &pError);
		    	pError->GetDescription(&strError);
			    MessageBox(OLE2T(strError), _T("Error"), MB_ICONEXCLAMATION);
   				return E_FAIL;
    		}	
   			m_s_v = (short)GetDlgItemInt(IDC_EDIT_AUTO_STATE);
    		if FAILED(pHControl->put_AutoState(m_s_v))
	    	{
   				CComPtr<IErrorInfo> pError;
    			CComBSTR            strError;
	    		GetErrorInfo(0, &pError);
		    	pError->GetDescription(&strError);
			    MessageBox(OLE2T(strError), _T("Error"), MB_ICONEXCLAMATION);
   				return E_FAIL;
    		}	
    		m_s_v = (short)GetDlgItemInt(IDC_EDIT_FONTSIZE);
    		if FAILED(pHControl->put_FontSize(m_s_v))
	    	{
   				CComPtr<IErrorInfo> pError;
    			CComBSTR            strError;
	    		GetErrorInfo(0, &pError);
		    	pError->GetDescription(&strError);
			    MessageBox(OLE2T(strError), _T("Error"), MB_ICONEXCLAMATION);
   				return E_FAIL;
    		}	
/**/
			m_s_v = (short)GetDlgItemInt(IDC_EDIT_BT_STATE);
    		if FAILED(pHControl->put_BtState(m_s_v))
	    	{
   				CComPtr<IErrorInfo> pError;
    			CComBSTR            strError;
	    		GetErrorInfo(0, &pError);
		    	pError->GetDescription(&strError);
			    MessageBox(OLE2T(strError), _T("Error"), MB_ICONEXCLAMATION);
   				return E_FAIL;
    		}	

			CString str;
			if((GetDlgItemText(IDC_STR_GZFS,str))> 0)
			{
    			if FAILED(pHControl->put_GZFS(str.AllocSysString()))
	    		{
   					CComPtr<IErrorInfo> pError;
    				CComBSTR            strError;
	    			GetErrorInfo(0, &pError);
		    		pError->GetDescription(&strError);
					MessageBox(OLE2T(strError), _T("Error"), MB_ICONEXCLAMATION);
   					return E_FAIL;
    			}	
			}
			if((GetDlgItemText(IDC_STR_UNIT_NAME,str))>0)
			{
				if FAILED(pHControl->put_UnitName(str.AllocSysString()))
				{
   					CComPtr<IErrorInfo> pError;
    				CComBSTR            strError;
	    			GetErrorInfo(0, &pError);
		    		pError->GetDescription(&strError);
					MessageBox(OLE2T(strError), _T("Error"), MB_ICONEXCLAMATION);
   					return E_FAIL;
				}
			}
			if((GetDlgItemText(IDC_STR_ALARM,str))>0)
			{
    			if FAILED(pHControl->put_BaoJing(str.AllocSysString()))
	    		{
   					CComPtr<IErrorInfo> pError;
    				CComBSTR            strError;
	    			GetErrorInfo(0, &pError);
		    		pError->GetDescription(&strError);
					MessageBox(OLE2T(strError), _T("Error"), MB_ICONEXCLAMATION);
   					return E_FAIL;
    			}	
			}
			str.ReleaseBuffer();

	    }
   		m_bDirty = FALSE;
    	return S_OK;
	}
	LRESULT OnEnChangeSV1(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/);
	LRESULT OnEnChangeSA1(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/);
	LRESULT OnEnChangeSV2(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/);
	LRESULT OnEnChangeSA2(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/);
	LRESULT OnEnChangeSDtj(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/);
	LRESULT OnEnChangeSHhl(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/);
	LRESULT OnEnChangeSYw(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/);
	LRESULT OnEnChangeStrUnitName(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/);
	LRESULT OnEnChangeStrGzfs(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/);
	LRESULT OnEnChangeStrAlarm(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/);
	LRESULT OnEnChangeEditFontsize(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/);
};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -