Rich edit control scrolling
Brad Wilson/Crucial Software -- crucial@pobox.com
Wednesday, November 13, 1996
Environment: VC++ 4.2-flat, MFC 4.2, Windows NT 4.0
I'm using a rich edit control (placed on the dialog using the MS Richtext
OCX, and wrapped up in a CRichtext control). I'm adding text to the edit
control, which does not have the focus. The purpose of the edit control is
only to contain text output; the user will not be typing in the control.
With a traditional edit control, I was doing this:
m_myEdit.SetCurSel( 0x7fff, 0x7fff );
m_myEdit.ReplaceSel( "this is additional text" );
This moves the cursor to the end, eliminating all selections, and adds the
text to the control. With the CRichedit control, I am doing:
m_myRichedit.SetSelStart( 0x7fff );
m_myRichedit.SetSelText( "this is additional text" );
Okay, the text adds okay. With the edit control, I got automatic vertical
scrolling, which is what I want. With the rich edit control, I do -not-
get automatical vertical scrolling. There are no attributes of the OCX
which indicate automatic vertical scrolling.
Does anyone know how I can fix this?
--
Brad Wilson Custom software development & solutions
crucial@pobox.com Internet and intranet consulting services
The Brads' Consulting Windows NT/Windows 95 software development
http://www.thebrads.com Web site planning, development and maintenance
Knut Magne Risvik -- kmr@foa.unit.no
Tuesday, November 26, 1996
Environment: VC4.1 flat, Win95
On Wed, 13 Nov 1996, Brad Wilson wrote:
> I'm using a rich edit control (placed on the dialog using the MS Richtext
> OCX, and wrapped up in a CRichtext control). I'm adding text to the edit
> control, which does not have the focus. The purpose of the edit control is
> only to contain text output; the user will not be typing in the control.
>
> m_myRichedit.SetSelStart( 0x7fff );
> m_myRichedit.SetSelText( "this is additional text" );
>
Sending a EM_SCROLLCARET should scroll the caret into view. However, this
does not work. Does anybody know what the problem might be?
- Knut Magne Risvik.
Brad Wilson/Crucial Software -- crucial@pobox.com
Thursday, November 28, 1996
> On Wed, 13 Nov 1996, Brad Wilson wrote:
>
> > I'm using a rich edit control (placed on the dialog using the MS
Richtext
> > OCX, and wrapped up in a CRichtext control). I'm adding text to the
edit
> > control, which does not have the focus. The purpose of the edit
control is
> > only to contain text output; the user will not be typing in the
control.
> >
> > m_myRichedit.SetSelStart( 0x7fff );
> > m_myRichedit.SetSelText( "this is additional text" );
>
> Sending a EM_SCROLLCARET should scroll the caret into view. However, this
> does not work. Does anybody know what the problem might be?
It appears that the ES_NOHIDESEL flag is the culprit here. When this flag
is on, the scrolling is normal. When this flag is off, the scrolling
doesn't happen until the control gets the focus.
Why it works this way, I don't know. And now I've forgotten who gave me
the solution. So, thanks to that person (he knows who he is :).
--
Brad Wilson Custom software development & solutions
crucial@pobox.com Internet and intranet consulting services
The Brads' Consulting Windows NT/Windows 95 software development
http://www.thebrads.com Web site planning, development and maintenance
| Вернуться в корень Архива
|