Здравствуйте, kreek, Вы писали:
K>...Мог бы набить руками — да не знаю как и чего.
K>Помогите.
.idl
[propget, id(57), helpstring("scale maximum value")]
HRESULT maxScaleValue([out, retval] double* pVal);
[propput, id(57), helpstring("scale maximum value")]
HRESULT maxScaleValue([in] double pVal);
.h
STDMETHOD(get_maxScaleValue)(double* pValue);
STDMETHOD(put_maxScaleValue)(double value);
.cpp
HRESULT AxPlateViewer::put_maxScaleValue(double value)
{
m_scaleWnd.setMaxValue(value);
return S_OK;
}
//------------------------------------------------------------------------------
HRESULT AxPlateViewer::get_maxScaleValue(double* pValue)
{
CHECK_PTR(pValue);
*pValue = m_scaleWnd.maxValue();
return S_OK;
}
На VC7 создал проект MFC ActiveX Control. Теперь хочу добавить ему св-во, ищу в Class View контекстное меню Add Property, а у меня только Add (Variable, Function, Event). Насколько я понимаю, в 6 такая фишка была (на с++ у меня первый проект). Мог бы набить руками — да не знаю как и чего.
Помогите.
Здравствуйте, Andy77, Вы писали:
Большое спасибо, а то уже хотел 6 студию ставить.
A>.idl
A>A> [propget, id(57), helpstring("scale maximum value")]
A> HRESULT maxScaleValue([out, retval] double* pVal);
A> [propput, id(57), helpstring("scale maximum value")]
A> HRESULT maxScaleValue([in] double pVal);
A>
Пол часа бился над ошибками компиления, пока не переместил из раздела properties: в methods:
A>.cpp
A>A>HRESULT AxPlateViewer::put_maxScaleValue(double value)
A>{
A> m_scaleWnd.setMaxValue(value);
A> return S_OK;
A>}
A>//------------------------------------------------------------------------------
A>HRESULT AxPlateViewer::get_maxScaleValue(double* pValue)
A>{
A> CHECK_PTR(pValue);
A> *pValue = m_scaleWnd.maxValue();
A> return S_OK;
A>}
A>
Извиняюсь за ламерство, но какого типа m_scaleWnd? И у меня нет функции CHECK_PTR, это вроде какого-то утверждения на проверку правильности указателя, наверное, можно упустить.
... << RSDN@Home 1.0 beta 3 >>