CEdit control crashes when resized
Hi,
I have built a dialog based application that uses a CEdit control.
No problems initializing it, I can change the font and other similar stuff,
but it crashes when I resize it.
The application it self does not crash, but it becomes impossible to continue.
Please see the two images, before and after the resize operation:
http://www.saffi.nu/cedit/pic1.gif
http://www.saffi.nu/cedit/pic2.gif
The edit control is declared in the .rc file as:
-------------------------
EDITTEXT IDC_EDIT_WINDOW,103,5,93,78,ES_MULTILINE | ES_AUTOVSCROLL |
WS_VSCROLL | NOT WS_TABSTOP
-------------------------
My code looks basically like:
-------------------------
CDialog::DoDataExchange(pDX);
DDX_Control(pDX, IDC_EDIT_WINDOW, m_EditWindow);
.........
m_EditWindow.SetLimitText( (UINT)wcslen(TextBuffer)*3 );
m_EditWindow.SetWindowText( TextBuffer );
.........
void CdaVinciAuxDlg::OnSize( UINT nType, int cx, int cy )
{
static bool BusyResizing = false;
CDialog::OnSize( nType, cx, cy );
if( BusyResizing ) return;
BusyResizing = true;
RECT rect;
GetClientRect( &rect );
m_EditWindow.SetWindowPos( NULL, 0, 0, rect.right+2, rect.bottom,
SWP_SHOWWINDOW );
BusyResizing = false;
}
-------------------------
I hade tried to work around this problem by generating a CEdit control in
the code:
-------------------------
CEdit *EditWin = new CEdit();
DWORD style = ES_MULTILINE | WS_VSCROLL | ES_WANTRETURN | ES_AUTOVSCROLL;
CurrWin->Create( style, CRect(10, 10, 100, 100), this, IDC_EDIT_WINDOW );
.........
-------------------------
The control generated this way *does not crash* when resized, but it cannot
be initialized correctly (font settings are not working), and the graphical
lookout is poor (no ClearType effects).
See the image http://www.saffi.nu/cedit/pic3.gif
Why this strange behaviour?
What need I to do in order to make this to work properly (one way or the
other)?
I would be very greateful for any suggestion that can put me in the right
direction.
Thank you
ElCarso