Beispiel #1
0
///////////////////////////////////////////////////////////////////////////////
// hier geht's los
HRESULT CToolBarButton::FinalConstruct (void)
{ 
	try {
	WGetTRiASApplication GetApp (CLSID_OleAutoExtension);
	WDispatch App;

		THROW_FAILED_HRESULT(GetApp -> GetApplication (IID_IDispatch, App.ppv()));

		THROW_FAILED_HRESULT(put_Application (App));
		THROW_FAILED_HRESULT(put_Parent (App));
	
	} catch (_com_error& hr) {
		return _COM_ERROR(hr);
	}

	memset (&m_tb, 0, sizeof(TBBUTTON));
	m_tb.idCommand = (int)LOWORD(this); 
	m_tb.fsStyle = TBSTYLE_BUTTON;

	m_iCnt = 0;
	m_iOffset = -1;

	m_lMutex = -1;

CBitmap Bmp;

	if (Bmp.LoadMappedBitmap(ID_MACROBUTTON)) {
		m_iCnt = 16;
	
	HRESULT hr = CreatePicture ((HBITMAP)Bmp.Detach(), NULL, true, m_PictDisp.ppi());

		if (FAILED(hr)) return hr;
	}

	try {
		m_strName = TEXT("ToolBarButton");
		m_strDesc = TEXT("ToolBarButton\nToolBarButton");
	} catch (...) {
		return E_OUTOFMEMORY;
	}

return ((CFakeMFCExtension *)g_pTE) -> m_pXtnSite -> GetXtension (CLSID_MacroScriptExtension, IID_IExtendBScript, m_EvtSink.ppv());
}