vc++6.0 如何创建位图按钮? 10
展开全部
先装入一副BMP图片资源,ID修改为IDB_BMP;
再在按钮属性设置对话框选“风格”标签,在里面选中Bitmap复选框,然后在对话框类头文件增加一个CBitmap类型变量m_bitmap;
在WM_INITDIALOG消息处理函数里面加入如下代码:
BOOL conver::OnInitDialog()
{
CDialog::OnInitDialog();
m_bitmap.LoadBitmap(IDB_BMP);
CButton *m_pButton;
m_pButton=(CButton*)GetDlgItem(IDOK);// IDOK是按钮的ID
m_pButton->SetBitmap(HBITMAP(m_bitmap));
// 或:m_pButton->SetBitmap(HBITMAP(m_bitmap.m_hObject));
return TRUE;
}
方法2:
你用CBitmapButton来新建一个很方便的
CBitmapButton mBt;
mBt.Create(NUL,WS_CHILD|WS_VISIBLE|BS_OWNERDRAW,
CRect(leftnum,topnum,rightnum,bottomnum),this,buttonID);
mBt.LoadBitmaps(bit1,bit2,bit3);
mBt.SizeToContent();
buttonID是放在下面的隐藏起来的一个BUTTON
我是这样写的,不知道其它高手还有没有更好的方法
听说网上有一个ButtonST类,很好,不知道在哪下?
///////////////////////////////////////////////////////////////
方法3:
第一步:在资源中引入三个位图,分别命名为:"bt1"、"bt2"、"bt3";注意ID号一定要用双引号引起来。
第二步:在它被调用的对话框头文件中定义一个位图对象。如:
protected:
CBitmapButton button1;
第三步:在CDlgDlg函数中创建位图按钮。
if (!button1.LoadBitmaps(_T("IDB_BITMAP1"), _T("IDB_BITMAP2")))
{
TRACE0("Failed to load bitmaps for buttons\n");
AfxThrowResourceException();
}
第四步:在OnInit函数中建立位图按钮与窗体上按钮的对应关系。
VERIFY(button1.SubclassDlgItem(IDC_BUTTON1, this));
button1.SizeToContent();
第五步:设置窗体上的那个按的styles属性:钩选"所有者"。
2
再在按钮属性设置对话框选“风格”标签,在里面选中Bitmap复选框,然后在对话框类头文件增加一个CBitmap类型变量m_bitmap;
在WM_INITDIALOG消息处理函数里面加入如下代码:
BOOL conver::OnInitDialog()
{
CDialog::OnInitDialog();
m_bitmap.LoadBitmap(IDB_BMP);
CButton *m_pButton;
m_pButton=(CButton*)GetDlgItem(IDOK);// IDOK是按钮的ID
m_pButton->SetBitmap(HBITMAP(m_bitmap));
// 或:m_pButton->SetBitmap(HBITMAP(m_bitmap.m_hObject));
return TRUE;
}
方法2:
你用CBitmapButton来新建一个很方便的
CBitmapButton mBt;
mBt.Create(NUL,WS_CHILD|WS_VISIBLE|BS_OWNERDRAW,
CRect(leftnum,topnum,rightnum,bottomnum),this,buttonID);
mBt.LoadBitmaps(bit1,bit2,bit3);
mBt.SizeToContent();
buttonID是放在下面的隐藏起来的一个BUTTON
我是这样写的,不知道其它高手还有没有更好的方法
听说网上有一个ButtonST类,很好,不知道在哪下?
///////////////////////////////////////////////////////////////
方法3:
第一步:在资源中引入三个位图,分别命名为:"bt1"、"bt2"、"bt3";注意ID号一定要用双引号引起来。
第二步:在它被调用的对话框头文件中定义一个位图对象。如:
protected:
CBitmapButton button1;
第三步:在CDlgDlg函数中创建位图按钮。
if (!button1.LoadBitmaps(_T("IDB_BITMAP1"), _T("IDB_BITMAP2")))
{
TRACE0("Failed to load bitmaps for buttons\n");
AfxThrowResourceException();
}
第四步:在OnInit函数中建立位图按钮与窗体上按钮的对应关系。
VERIFY(button1.SubclassDlgItem(IDC_BUTTON1, this));
button1.SizeToContent();
第五步:设置窗体上的那个按的styles属性:钩选"所有者"。
2
更多追问追答
追问
请问一下,我还是没找到WM_INITDIALOG消息处理函数。。。
追答
在Class Wizard中,有消息映射,可以直接建立
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询