版主及各位高手,来看看这段ActiveX自调整大小的代码,是否是IE的BUG??
nbb01 2003-03-09 12:17:42 WinXP简体中文家庭版(IE6),VS.NET(ATL7)
ActiveX控件自调整自己的大小,2次之后,IE的滚动条消失,实际控件的大小
调整正确, 但IE没有调整自己的窗口尺寸,是否是IE的BUG??不得以,强制
状态条开/关一次解决问题:)
void SetNewSize(int cx, int cy)
{
SIZEL szlPixels, szlMetric;
szlPixels.cx = cx;
szlPixels.cy = cy;
AtlPixelToHiMetric(&szlPixels, &szlMetric);
// IOleObjectImpl
SetExtent(DVASPECT_CONTENT, &szlMetric);
// update control sizing...
m_rcPos.left = 0;
m_rcPos.top = 0;
m_rcPos.right = m_rcPos.left + cx;
m_rcPos.bottom = m_rcPos.top + cy;
if (m_spInPlaceSite != NULL)
{
// needed for IE to accept the resizing
m_spInPlaceSite->OnPosRectChange(&m_rcPos);
/*
// 不得以的方法,强制状态条开/关一次,刷新IE状态条。
if (m_pBrowser != NULL)
{
VARIANT_BOOL bStatus;
m_pBrowser->get_StatusBar(&bStatus);
m_pBrowser->put_StatusBar(!bStatus);
m_pBrowser->put_StatusBar(bStatus);
}
*/
}
SetFocus();
}