Thanks for the reply and sorry for the delay in mine.
Yes, you're right, I knew the rule that you have to draw inside the OnPaint event handler.
In reality my problem (I'm on Windows) was mainly with CopyRect method (I didn't realize, due to my mistake, that Draw method works within OnPaint).
In fact, if I use CopyRect inside OnPaint, as in your code, I get a run time error (see attached screenshot). What's the reason?