Microsoft KB Archive/151378

= PRB: CStatic::SetBitmap Doesn't Display Bitmap on Win NT 3.51 =

Article ID: 151378

Article Last Modified on 10/17/2003

-

APPLIES TO


 * Microsoft Visual C++ 4.0 Standard Edition
 * Microsoft Visual C++ 4.1 Subscription

-



This article was previously published under Q151378



4.00 4.10 WINDOWS NT kbprg kbprb



SYMPTOMS
CStatic::SetBitmap does not display the bitmap correctly on a picture control in Windows NT 3.51 if the picture control is subclassed.

This problem is restricted to Windows NT 3.51 and does not appear on Windows 95.



RESOLUTION
Do not subclass the picture control either directly, by using SubClassWindow or SubClassDlgItem, or indirectly, by associating a CStatic control variable with it. Instead, call SetBitmap using a pointer to the picture holder obtained by calling GetDlgItem



STATUS
This behavior is by design.



MORE INFORMATION
Embed a picture control on a dialog, form view, or property page using the resource editor, and associate it with a bitmap type. Change the ID from IDC_STATIC to something else. Associating the picture control with a bitmap ID is optional. Using Class Wizard, associate a CStatic control variable with this picture control. Note that when you try to display a bitmap or change the old bitmap on the picture holder using CStatic::SetBitmap, the new bitmap is not displayed.

Sample Code
// IDC_PICHOLD is the picture holder's ID  ((CStatic*)GetDlgItem(IDC_PICHOLD))->SetBitmap(/* handle to bitmap */);

Additional query words: 4.00 4.10

Keywords: kbstaticctrl kbbitmap kbprb KB151378

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.