代码如下:
  void CChatFontDlg::InitFontBitmap()
 {
    for (int i=0;i<4;++i)
    {
CBitmap bitmap;
bitmap.LoadBitmap(IDB_CTFONTTAG_BITMAP+i);
CStatic *pStatic=static_cast<CStatic*>(GetDlgItem(IDC_CTTAG_STATIC+i));
pStatic->ModifyStyle(0,SS_BITMAP|SS_CENTERIMAGE);
pStatic->SetBitmap(static_cast<HBITMAP>(bitmap.GetSafeHandle()));
    }
 }这个函数在对话框的OnInitDialog()调用,IDC_CTTAG_STATIC表示文本框id,IDB_CTFONTTAG_BITMAP表示位图id,但是不显示位图呢?

解决方案 »

  1.   

    再调用一下Invalidate,如果要立即重画,再加个UpdateWindow
      

  2.   


    lable 可以绘图.不必picture ctrl
      

  3.   

    调用Invalidate也没有用额~我把这段代码放到OnPaint()函数里也没有用,但是我把CStatic控件换成CButton控件就可以显示,到底哪儿错了呢?
      

  4.   

    在对话框模板中把IDC_CTTAG_STATIC设置成SS_BITMAP格式!
      

  5.   

    经过不懈努力,终于显示了位图了~代码本身没有问题,只不过这段代码要放在对话框OnPant()函数中,而且控件属性中,对齐方式不能选择center,应选择left。