CBitmapDialog 的使用
在所有步骤之前,先添加按钮各个状态所需的位图资源。
1   在对话框应用程序中添加Button1(ID为IDC_BUTTON1)。在属性的Style标签下选择Owner  draw即可,不需要选择Bitmap属性!
 
2  在程序中定义一个CBitmapButton成员变量bmButton。不能使用ClassWizard为按钮映射一个CButton变量,然后改为CBitmapButton,这么做并不能将按钮直接映射为CBitmapButton类的对象,反而会出现初始化错误。
 
3  使用CBitmapButton::LoadBitmaps装载各种状态的图片,使用SubclassDlgItem关联到想要的按钮,使用CBitmapButton::SizeToContent函数使按钮适合图片大小。注意Loadbitmaps一定要在关联到按钮之前进行! 

在OnInitDialog()中添加的代码如下所示:
BOOL CCBitmapDlgDlg::OnInitDialog()
{
 CDialog::OnInitDialog();
 
          //.........................
 
 
 // TODO: Add extra initialization here
if(bmButton.LoadBitmaps(IDB_BITMAP_QI,IDB_BITMAP1,IDB_BITMAP2,IDB_BITMAP2)==0)
MessageBox("装载位图出错!");
bmButton.SubclassDlgItem(IDC_BUTTON1,AfxGetMainWnd());
 bmButton.SizeToContent();

return TRUE;  // return TRUE  unless you set the focus to a control
}
//对LoadBitmaps( ) 的一点说明: 
第一个参数为按钮没有按下时(UP)的位图。
第二个参数为按钮按下时(DOWM )的位图。
第三个参数为按钮是焦点时(Focused)的位图。
第四个参数为按钮不可用时(Disabled)的位图。
Posted on 2007-04-12 11:36 艾凡赫 阅读(770) 评论(0)  编辑 收藏 引用 所属分类: MFC技术

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理