为按钮控件添加图片的方法
来源:互联网 发布:js 广告代码 编辑:程序博客网 时间:2024/06/05 22:39
第一种:
Button属性页里Style的Bitmap点上
CBitmap Bitmap;
Bitmap.LoadBitmap(IDB_BITMAP1);
HBITMAP hBitmap=(HBITMAP)Bitmap.Detach();
CButton *pButton=(CButton*)GetDlgItem(IDCANCEL);
pButton->SetBitmap(hBitmap);
感觉效果不是很好。因为图片不会自动拉伸。
第二种:
可以采用CButtonST控件,挺好用的,比MFC的那些封装好用。
第三种:
把button按钮属性设置为ower draw
然后映射onDrawItem消息
在ondraw函数内自己绘制就可以了
void CUi6Dlg::OnDrawItem(int nIDCtl, LPDRAWITEMSTRUCT lpDrawItemStruct)
{
if(nIDCtl == IDC_HELLO_CFAN)
{
//绘制按钮框架
UINT uStyle = DFCS_BUTTONPUSH;
//是否按下去了?
if (lpDrawItemStruct->itemState & ODS_SELECTED)
uStyle |= DFCS_PUSHED;
CDC dc;
dc.Attach(lpDrawItemStruct->hDC);
dc.DrawFrameControl(&lpDrawItemStruct->rcItem, DFC_BUTTON, uStyle);
//输出文字
dc.SelectObject(&m_Font);
dc.SetTextColor(RGB(0, 0, 255));
dc.SetBkMode(TRANSPARENT);
CString sText;
m_HelloCFan.GetWindowText(sText);
dc.TextOut(lpDrawItemStruct->rcItem.left + 20, lpDrawItemStruct->rcItem.top + 20, sText);
//是否得到焦点
if(lpDrawItemStruct->itemState & ODS_FOCUS)
{
//画虚框
CRect rtFocus = lpDrawItemStruct->rcItem;
rtFocus.DeflateRect(3, 3);
dc.DrawFocusRect(&rtFocus);
}
return;
}
CDialog::OnDrawItem(nIDCtl, lpDrawItemStruct);
}
第四种:
1,按钮属性 Onwer Drew选上,按钮ID: IDC_BUTTON1
2,定义private变量:
CBitmapButton m_button;
3,在初始化里边
m_button.LoadBitmaps(IDB_BITMAP1, IDB_BITMAP2);//IDB_BITMAP1:平时;IDB_BITMAP2:按下
m_button.SubclassDlgItem(IDC_BUTTON1, this);
m_button.SizeToContent(); 这种方法还可以。
Button属性页里Style的Bitmap点上
CBitmap Bitmap;
Bitmap.LoadBitmap(IDB_BITMAP1);
HBITMAP hBitmap=(HBITMAP)Bitmap.Detach();
CButton *pButton=(CButton*)GetDlgItem(IDCANCEL);
pButton->SetBitmap(hBitmap);
感觉效果不是很好。因为图片不会自动拉伸。
第二种:
可以采用CButtonST控件,挺好用的,比MFC的那些封装好用。
第三种:
把button按钮属性设置为ower draw
然后映射onDrawItem消息
在ondraw函数内自己绘制就可以了
void CUi6Dlg::OnDrawItem(int nIDCtl, LPDRAWITEMSTRUCT lpDrawItemStruct)
{
if(nIDCtl == IDC_HELLO_CFAN)
{
//绘制按钮框架
UINT uStyle = DFCS_BUTTONPUSH;
//是否按下去了?
if (lpDrawItemStruct->itemState & ODS_SELECTED)
uStyle |= DFCS_PUSHED;
CDC dc;
dc.Attach(lpDrawItemStruct->hDC);
dc.DrawFrameControl(&lpDrawItemStruct->rcItem, DFC_BUTTON, uStyle);
//输出文字
dc.SelectObject(&m_Font);
dc.SetTextColor(RGB(0, 0, 255));
dc.SetBkMode(TRANSPARENT);
CString sText;
m_HelloCFan.GetWindowText(sText);
dc.TextOut(lpDrawItemStruct->rcItem.left + 20, lpDrawItemStruct->rcItem.top + 20, sText);
//是否得到焦点
if(lpDrawItemStruct->itemState & ODS_FOCUS)
{
//画虚框
CRect rtFocus = lpDrawItemStruct->rcItem;
rtFocus.DeflateRect(3, 3);
dc.DrawFocusRect(&rtFocus);
}
return;
}
CDialog::OnDrawItem(nIDCtl, lpDrawItemStruct);
}
第四种:
1,按钮属性 Onwer Drew选上,按钮ID: IDC_BUTTON1
2,定义private变量:
CBitmapButton m_button;
3,在初始化里边
m_button.LoadBitmaps(IDB_BITMAP1, IDB_BITMAP2);//IDB_BITMAP1:平时;IDB_BITMAP2:按下
m_button.SubclassDlgItem(IDC_BUTTON1, this);
m_button.SizeToContent();
- 为按钮控件添加图片的方法
- 为按钮控件添加图片的方法
- VC为按钮控件添加图片的方法
- VC为按钮控件添加图片的方法
- VC为按钮控件添加图片
- VC为按钮控件添加图片
- VC中为按钮添加图片的方法
- Qt中为按钮添加图片的几种方法
- (按钮)上面为图片下部为文字的 按钮 控件
- 如何为按钮或者图片控件添加超链接?
- 为数字键盘添加自定义按钮的方法
- 在按钮上面添加图片的方法
- 为按钮控件添加提示
- Qt中为按钮、标签添加图片的几种方法
- MFC 为按钮添加图片
- Android为ListView的item添加按钮控件
- 为ComboBox控件添加图片
- dataGridView为单元格动态添加按钮控件
- Hibernate Configuration配置摘要
- 陈永苗 : 没有民主,就没有世界工厂地位 zt
- 设计模式的一点小小想法
- Ruby On Rails学习笔记(2)——Convention over Configuration(ROR应用程序的目录结构)
- 在VB中,快速为表的一列生成序号
- 为按钮控件添加图片的方法
- 线程中使用数据源的问题
- 理才
- Delegate类简介
- 基于内容的图像检索技术
- 网络创业赚钱的经典指南
- 未将对象引用设置到对象的实例--问题记录
- 函数 ioremap 物理地址到内核映射空间的映射函数
- 提高ASP.Net应用程序性能的十大方法