如何实现MFC位图按钮

jackinelee 2008-03-17 02:42:50
// CGraphicsDisplay 窗体视图

class CGraphicsDisplay : public CFormView
{
DECLARE_DYNCREATE(CGraphicsDisplay)

protected:
CGraphicsDisplay(); // 动态创建所使用的受保护的构造函数
virtual ~CGraphicsDisplay();

public:
enum { IDD = IDD_GRAPHICSDISPLAY };
#ifdef _DEBUG
virtual void AssertValid() const;
#ifndef _WIN32_WCE
virtual void Dump(CDumpContext& dc) const;
#endif
#endif

protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持

DECLARE_MESSAGE_MAP()
public:
CButton b1;
};

如上代码所示,CFormView使用了一个对话框资源模板IDD_GRAPHICSDISPLAY,这个对话框资源是在对话框资源编辑器中可视化创建的。但拖动一个按钮控件到对话框后,我不知道怎么得到位图按钮,按钮属性编辑器中似乎没有提供位图资源属性。请大家帮帮忙,这该怎么办
...全文
1060 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
sea2x 2012-02-14
  • 打赏
  • 举报
回复
SubclassDlgItem时出错,空句柄
jiafei124692005 2009-08-25
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 hkrenaa 的回复:]
  请问,怎么将这个变量的类型由CButton m_btnTest改为CBitmapButton m_btnTest?
  在控件里拖动的按钮不是只能为CButton类型吗?在按钮对应的对话框里定义CBitmapButton好像也不管用
 
[/Quote]
是啊,我也着急这个问题呢~~~大侠快出现~~~
wwweijohn 2009-02-26
  • 打赏
  • 举报
回复
照大头菜说的做了,为何出错了?...
hkrenaa 2008-07-09
  • 打赏
  • 举报
回复
请问,怎么将这个变量的类型由CButton m_btnTest改为CBitmapButton m_btnTest?
在控件里拖动的按钮不是只能为CButton类型吗?在按钮对应的对话框里定义CBitmapButton好像也不管用
Eleven 2008-03-18
  • 打赏
  • 举报
回复
使用CBitmapButton类
iyranly 2008-03-18
  • 打赏
  • 举报
回复
大头菜都说得很清楚了
datoucaicai 2008-03-18
  • 打赏
  • 举报
回复
1 给你的按钮控件添加关联变量(如CButton m_btnTest),然后将这个变量的类型改为(CBitmapButton m_btnTest)

2 然后在初始化函数中:
m_btnTest.LoadBitmaps(IDB_BITMAP1,IDB_BITMAP2,IDB_BITMAP3,IDB_BITMAP4); //IDB_BITMAP为按钮不同
状态时显示的位图,具体可以查看MSDN
m_btnTest.SubclassDlgItem(IDC_BUTTON_Test,this); //IDC_BUTTON_Test为按钮ID
m_btnTest.SizeToContent();
Tolirry 2008-03-17
  • 打赏
  • 举报
回复
使用CBitmapButton类。可以详细看看CBitmapButton::DrawItem方法如何实现的,然后可以自己绘制一个特殊的按钮。

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧