Здравствуйте Vasily, 16.04.2001 03:15:25 вы писали:
>Привет всем, > >Пишу ActiveX, невидимый в рантайме, и хочу, чтобы в дизайнтайме невозможно было изменить его размер, >подобно любому невизуальному стандартному компоненту. Пробовал добавить следующий код в обработчик >OnSetObjectRects: > >BOOL CErrorDlgCtrl::OnSetObjectRects(LPCRECT lpRectPos, LPCRECT lpRectClip) >{ > RECT rcYourPosRect = *lpRectPos; > rcYourPosRect.right = rcYourPosRect.left + 40; > rcYourPosRect.bottom = rcYourPosRect.top + 40; > > RECT rcYourClipRect = rcYourPosRect; > > return COleControl::OnSetObjectRects(&rcYourPosRect, &rcYourClipRect); >} > >Этот код действительно запрещает изменять размер компонента, но он никак не влиет на размер растягивающий >рамки(той, на которой находятся квадратики в углах и в центре граней :)), ее размер я могу менять без проблем. >Кто-нибудь может подсказать, как добиться того, чтобы и размер этой рамки возвращался к размеру компонента >после окончания изменения размера? > >Василий.
Попробуйте так:
int CErrorDlgCtrl::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (COleControl::OnCreate(lpCreateStruct) == -1)
return -1;
.....
SetControlSize(40, 40); // Размер, который Вы хотите
return 0;
}