Sorry for the long delay. Today I returned to the problem.
At the end the solution was very simple. The widget::scrolledwindow
contains an ScrollableFrame (from BWidget package) which provides a
`see' command.
If `w' is a widget contained in the ScrollableFrame s,
bind w <FocusIn> {s see w}
does the trick.
Thank you Alexandru and briang.