vc如何在按钮上显示一个图片

现引入bmp文件ID为IDB_BITMAP 
在C*dlg类里添加protected:成员
HICON m_hIcon;

在OnInitDialog()函数中添加如下代码
//C*dlg.cpp
BOOL CDemoDlg::OnInitDialog()
{

//添加BS_BITMAP风格
 m_ctrlButton.ModifyStyle(0, BS_BITMAP);

 //m_ctrlButton.MoveWindow(10, 10, 32, 32);

 //加载位图
 HINSTANCE hInstance = AfxFindResourceHandle(MAKEINTRESOURCE(IDB_BITMAP), 
  RT_GROUP_ICON);
 HBITMAP hBitmap = ::LoadBitmap(hInstance, MAKEINTRESOURCE(IDB_BITMAP));     

 //设置按钮位图
 m_ctrlButton.SetBitmap(hBitmap); 

         return TURE;
}









如果想实现按下去变换图片则
引入bmp文件ID为IDB_BITMAP,IDB_UP, IDB_DOWN 
在C*dlg类里添加protected:成员
HICON m_hIcon;


在OnInitDialog()函数中添加如下代码
//C*dlg.cpp
BOOL CDemoDlg::OnInitDialog()
{
 CDialog::OnInitDialog();
         ……

 m_ctrlButton.SubclassDlgItem(IDC_BUTTON, this);

 //添加BS_OWNERDRAW风格
 m_ctrlButton.ModifyStyle(0, BS_OWNERDRAW);

 //m_ctrlButton.MoveWindow(10, 10, 68, 56);

 //加载按钮位图
 m_ctrlButton.LoadBitmaps(IDB_UP, IDB_DOWN);
         return  TRUE;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在MFC中显示读取的参数图像可以通过以下步骤实现: 1. 首先,你需要在MFC应用程序的资源文件夹中添加一个静态图片控件。你可以在资源视图中选择对应的对话框,然后右键点击添加控件,在控件列表中选择“Picture Control”并添加到对话框中。 2. 接下来,在你的对话框类中,找到OnInitDialog函数并添加以下代码: ``` CStatic* pImageControl = (CStatic*)GetDlgItem(IDC_STATIC_IMAGE); // 将IDC_STATIC_IMAGE替换为你在资源文件中添加的图片控件的ID CImage image; image.Load(_T("path_to_your_image")); // 替换为你的图像路径 pImageControl->SetBitmap(image.Detach()); // 将图像显示到控件中 ``` 3. 最后,你需要在你要显示图像的地方调用UpdateData()函数来更新对话框中的控件。你可以在你的程序中的任何地方调用它,例如在按钮点击事件中或者在图像读取成功后。 ``` UpdateData(FALSE); // 显示最新的图像 ``` 这样,在MFC应用程序中,你就可以显示读取的参数图像了。请确保替换代码中的路径和控件ID为你自己的实际值,并且图像文件格式与Load函数支持的一致。 ### 回答2: 首先,在MFC应用程序中,我们可以使用CImage类来加载显示图像。下面是一个简单的步骤,用于在VC显示读取的参数图像: 1. 首先,确保已将图像文件添加到项目中,并将其包含在您的源代码文件中,以便可以访问图像的路径。 2. 在您的对话框类中,声明一个CImage成员变量,例如: CImage m_Image; 3. 在OnInitDialog()方法中,加载图像文件到CImage对象中,例如: m_Image.Load(_T("图像文件路径")); 4. 然后,获取图像的宽度和高度,并将其用作绘图区域的大小,例如: int nWidth = m_Image.GetWidth(); int nHeight = m_Image.GetHeight(); CRect rect; GetDlgItem(IDC_STATIC_PICTURE)->GetClientRect(rect); // 假设您在对话框上有一个静态文本控件ID为IDC_STATIC_PICTURE rect.right = rect.left + nWidth; rect.bottom = rect.top + nHeight; 5. 创建一个DC并选择绘图区域,然后在绘图区域上绘制图像,例如: CDC* pDC = GetDlgItem(IDC_STATIC_PICTURE)->GetDC(); m_Image.Draw(pDC->m_hDC, rect); 6. 最后,释放DC并刷新静态文本控件,使图像显示在对话框上,例如: GetDlgItem(IDC_STATIC_PICTURE)->ReleaseDC(pDC); GetDlgItem(IDC_STATIC_PICTURE)->Invalidate(); 这样,您就可以在VC的MFC应用程序中显示读取的参数图像了。请注意替换实际的图像文件路径和静态文本控件ID以适应您的应用程序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值