我已经看过有关此主题的其他线程,但它们都不适用于 MFC 2.5,因为 MFC 2.5 中不存在
CButton::ModifyStyle()
和 CButton::SetBitmap()
。
我正在使用资源编辑器创建一个对话框应用程序来创建一个带有多个按钮的对话框。 这些按钮在编辑器中设置为 Owner Draw。 我正在使用以下代码:
void CMainDialog::OnInitDialog()
{
// to do: initialization
CBitmapButton m_Processor;
m_Processor.AutoLoad( IDC_CPU, this );
return TRUE;
}
上面的代码应该自动加载我创建为IDB_CPU的位图资源。 但是,在编译时按钮位置仅显示空白区域而不是加载位图。
我也尝试过这段代码:
void CMainDialog::OnInitDialog()
{
// to do: initialization
CBitmapButton m_Processor;
m_Processor.LoadBitmaps( IDB_CPU, NULL, NULL, NULL );
return TRUE;
}
但是它会产生相同的结果,只是有一个空格。 我知道该图像存在于位图中(例如,我可以使用 Paint 打开它),并且我已经验证了 IDB_CPU 的资源 ID 是否在 resources.h 文件中正确设置。
如有任何帮助,我们将不胜感激!
看起来
m_Processor
是(或者至少应该是)CMainDialog
的成员。
但是,这一行:
CBitmapButton m_Processor;
声明一个局部变量。它隐藏具有相同名称的成员(如果存在)。
因此您应该删除此行。