sorry about the code reposting, I had no idea about your policies, my
I uploaded a couple of screenshots taken under Win 98 (5kb):
Again, it's probably not gonna show much difference on a non-Win98/ME 16 bit
You might be able to get some info by analizing the pixels with a photo
In any case, I slightly modified the code:
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single,
Y As Single)
Me.Caption = Hex(GetPixel(Me.hdc, X, Y))
Private Sub Form_Load()
' Create an stdPicture
Me.PaintPicture MakeFadePicture(vbButtonFace, vbButtonFace, 100, 100,
True), 0, 0
Me.ScaleMode = vbPixels
On the screenshots you'll see the results: a form pixel is always reported a
&HC0C0C0 both in 24 and 16 bit modes; a pixel in the FadePicture area gets
reported as &HC0C0C0 in 24 bit mode and &HC8C8C8 in 16 bit mode (on a second
machine I got &HC8C4C8), which makes
the difference in the visible results.
Here's another odd thing that I hope can give you an idea of what's going
If the form is displayed while in 16 bit mode and then the setting is
switched to 24 bit mode the color difference will go away;
If the form is displayed while in 24 bit mode and then the setting is
switched to 16 bit mode the color difference won't show up.
Meaning that apparently something gets calculated differently depending on
the settings, rather then being a painting problem.
I hope it's all clear and that you get a chance to try it out on a 98/ME
machine since I'm starting to wonder myself if it's a real problem or it's
just my eyesight going bad...