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 を返すためです。誰か助けてくれませんか?