我有一个 CFormView SDI,它调用并打开一个 CDialog。在 CDialog 我有一个显示位图的按钮。一切正常,直到我关闭 CDialog。当我打开同一个 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。有人可以帮帮我吗?