I actually have an image control holding a picture of a border. Inside the image control is a picture box, which has a picture of a man. Inside the picture box is a label over which text is scrolled. Every time the text is scrolled I BitBlt the picture to a second picture box
The effect is text scrolling directly over the man framed inside a border, which is flicker free after BitBlting.
Ok, I can now BitBlt the picture box when visible = false, the problem was I was setting the form's autoredraw to true instead of the picture box , ok now that is sorted, cool.
The only remaining problem is that when I set the the picture box's autoredraw property to true, the label inside the picture box does not get BitBlted even if the picture box is visible.
Any suggestions to overcome this last hurdle?
Last edited by Nucleus; Jun 20th, 2001 at 08:49 PM.
I tried that, except it flickers, not dramatically, it just annoys me. So if I bitblt the picture containing the text being scrolled, no more flicker, and it looks very pro.
What doesn't look pro, is having both 2 pictures the same side by side, one flickering the other not
The main reasons for using the label is that you can set the background to transparent which works for scrolling text over an image.
The only problem is that when the pic box autoredraw is true, the label isn't bitblted with the picture.
If I understand correctly, you have one picturebox unseen somewhere with the picture and the text. And you have another one in plain view. You're trying to move the text on the unseen picturebox and then bitblt the moved text with the image behind it onto the visible picturebox.
Did I get that right?
If I did, why not print the text onto the invisible picturebox, then bitblt that over to the visible picturebox? Then clear the invisible picturebox (Picture1.Cls, if the image behind the text is in the Picture property, it'll stay) and print the text at the new position. Then bitblt it over again.
I fixed it up so you can hide the back buffer and still see the text. You'll notice that the back buffer doesn't appear to be flickering. I think it might still flicker on other pc's so I suggest going ahead and using bitblt anyway.
I think I marked off all my changes with comments, but it is possible that I missed something, tho I doubt it.
I left a comment explaining everything up in General Declarations.