VC++6.0 一个简单的图片按钮示例

本文详细介绍了如何在VC++6的对话框中添加一个带有图片按钮的功能,包括设置按钮样式、创建按钮状态图片、引入图片到工程、在对话框类中添加成员变量和初始化代码,最终实现鼠标单击效果。
 

用以下例子,说明如何在VC++6的对话框中添加一个图片按钮。

先给出运行的效果截图,图A为对话框最初加载,图B为鼠标单击时的效果。

图一,初加载对话框

图二,鼠标左键单击的效果

 工程名为“TT

 

 此工程为基于对话框的,所以新建工程时,选择MFC AppWizard(exe)->基于对话框。

 工程中有一个默认对话框,其ID为“IDD_TT_DIALOG”,其上有默认的“确定”“取消”按钮,在上面加一个按钮,ID就用默认的“IDC_BUTTON1”。

 

 单击“样式”选项卡,修改其属性:

“所有者绘制”与“位图”前的复选框必须打勾。

 接下来制作两个图标,分别对应按钮的两种状态,一是初始状态,二是单击状态。

从网上搜索两个图片,一般为jpg格式,先另保存为bmp,然后用PS进行处理,

 

 将图片的模式改为索引模式,颜色为256,因为超过256将不能用VC++的图片编辑器加载。

  将两个图片引入工程中,ID都采用默认的吧。

 

 在对话框类中添加成员变量,类型为CBitmapButton ,变量名为m_BitmapBtn,全局变量或局部变量均可。

在对话框类的DoDataExchange函数中添加代码,DDX_Control( pDX, IDC_BUTTON1, m_BitmapBtn );

在对话框类的初始化函数中添加代码,m_BitmapBtn.LoadBitmaps(IDB_BITMAP1,IDB_BITMAP2);

编译后运行,即成功。

以下给出代码片段供参考。

 

 

 
void CTTDlg::DoDataExchange(CDataExchange* pDX)
{
 CDialog::DoDataExchange(pDX);
 DDX_Control( pDX, IDC_BUTTON1, m_BitmapBtn );//这句是我加的

 //{{AFX_DATA_MAP(CTTDlg)
  // NOTE: the ClassWizard will add DDX and DDV calls here
 //}}AFX_DATA_MAP
}

 


BOOL CTTDlg::OnInitDialog()
{
 CDialog::OnInitDialog();

 // Set the icon for this dialog.  The framework does this automatically
 //  when the application's main window is not a dialog
 SetIcon(m_hIcon, TRUE);   // Set big icon
 SetIcon(m_hIcon, FALSE);  // Set small icon
 
 // TODO: Add extra initialization here
 m_BitmapBtn.LoadBitmaps(IDB_BITMAP1,IDB_BITMAP2);//这句是我加的
 return TRUE;  // return TRUE  unless you set the focus to a control
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值