0

CDialog を呼び出して開く CFormView SDI があります。CDialog には、ビットマップが表示されたボタンがあります。CDialogを閉じるまで、すべてうまくいきます。(create 関数を使用して) 同じ CDialog を開くと、ボタンが表示され、ボタンの機能はそこにありますが、ビットマップは消えます。

ボタンのビットマップがその後の CDialog の呼び出しで消える理由を教えてください。

前もって感謝します。

コードは次のとおりです。 CFormView には、CDialog を作成するボタンがあります。

 void CTest4View::OnButton1() 
 {
     m_dialog_calculator.Create(IDD_DIALOG1, GetDesktopWindow());   
     m_dialog_calculator.ShowWindow(SW_SHOW);
 }

CDialog では、InitDialog のボタンにビットマップを配置しています。

  BOOL CCalculator::OnInitDialog() 
  {
    CDialog::OnInitDialog();
    if(!bitmapNew.LoadBitmap(IDB_BITMAP_NEW)){
    MessageBox("problem in loadbitmap");
    }
    if(!m_button.SetBitmap(bitmapNew)){
    MessageBox("problem in SetBitmap");
    }
    bitmapOpen.LoadBitmap(IDB_BITMAP_OPEN);
    m_buttonOpen.SetBitmap(bitmapOpen);
    //==========================

    return TRUE;  // return TRUE unless you set the focus to a control
              // EXCEPTION: OCX Property Pages should return FALSE
    }

さらに調査すると、問題は m_button.SetBitmap(bitmapNew) にあるようです。これは FALSE を返すためです。誰か助けてくれませんか?

4

1 に答える 1