📄 settingproppage.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 + -