I
Dialog-Editor? Ich glaube, wir reden aneinander vorbei. Ich schreibe ja mein ActiveX Control selbst. Weiß nicht, wodurch ich jetzt impliziert habe, das nicht zu tun..? Mein AX-Ding lebt wie gesagt in IE bzw. vorübergehend im Test Container.
Inzwischen hab ich rausgefunden, dass das hier (überschreiben der Methoden GetExtent und SetExtent) funktioniert, ich also den umgekehrten Weg gehen muss (was nicht selbstverständlich ist, finde ich):
STDMETHODIMP CRTSClientObj::GetExtent( DWORD dwDrawAspect, SIZEL *psizel )
{
if( dwDrawAspect & DVASPECT_CONTENT )
AtlPixelToHiMetric( &m_size, psizel );
else
{
std::cerr << "CRTSClientObj::GetExtent -> aspect " << dwDrawAspect << " not implemented!" << std::endl;
return DV_E_DVASPECT;
}
return S_OK;
}
STDMETHODIMP CRTSClientObj::SetExtent( DWORD dwDrawAspect, SIZEL *Psizel )
{
return E_FAIL;
}
Das funktioniert mal zum Initialisierungszeitpunkt. Was mir jetzt noch fehlt, ist, dem übergeordneten Container irgendwie mitteilen zu können, dass sich *meine* Größe geändert hat, damit er mich anhand dieser Methoden entsprechend neu zeichnet.