FIX: CIRC2 and CIRC3 Samples Don't Handle WM_SIZE MessageLast reviewed: September 18, 1997Article ID: Q138032 |
1.00 1.10 1.20 | 1.00 1.10 1.20
WINDOWS | WINDOWS NTkbole kbprg kbcode kbbuglist kbfixlist The information in this article applies to:
SYMPTOMSTrying to decrease the size of the Circle control after changing the CircleOffset property may cause the circle to get drawn outside the control's rectangle.
CAUSEThe circle control does not respond to the WM_SIZE message and therefore does not adjust its CircleOffset property to compensate for the change in control size.
WORKAROUNDHandle the WM_SIZE message and reset the offset. This should only take place if the CircleShape property is set to TRUE and if the circle's position is outside the control's new size.
Sample Code to Implement Workaround
void CCirc2Ctrl::OnSize(UINT nType, int cx, int cy){ COleControl::OnSize(nType, cx, cy); // If circle shape is true and circle does not fit in new size, reset // the offset if(m_circleShape && !InBounds(GetCircleOffset())) SetCircleOffset(0);}
STATUSMicrosoft has confirmed this to be a bug in the Microsoft products listed at the beginning of this article. This problem was corrected in the version of the Microsoft Foundation Classes (MFC) that ships with Visual C++, 32- bit Edition, version 4.0.
MORE INFORMATION
Steps to Reproduce Problem
|
Additional reference words: 1.10 1.20 1.00 1.50 1.51 1.52 2.00 2.10 2.20
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |