在vc++中为Radio Button添加位图图像

问题描述 投票:0回答:2

我需要向 MFC 中的单选按钮添加位图图像。我不知道该怎么做 谁能告诉我该怎么做。

visual-studio-2008 visual-c++ mfc
2个回答
1
投票

您可能会发现这很有帮助: http://www.codeproject.com/KB/buttons/cbuttonst.aspx

谢谢。


0
投票

这是我的建议:

  • 创建位图文件,并将它们添加到您的 VS 项目中。
  • 添加它们以及您的资源文件:在解决方案的“资源视图”选项卡中,右键单击项目的 *.rc 文件,选择“添加资源...”,在列表框中选择“位图”,然后单击“导入” ...”,因为您已经创建了位图。这会将“Bitmap”文件夹添加到您的 *.rc 文件中。
  • 展开“Bitmap”文件夹以显示新添加的图像资源。为它们提供正确的资源 id(VS 为它们提供默认 id,类似于“IDB_BITMAP1,...2,...N”。这些 UINT 值会自动添加到项目的“resource.h”文件中,并且在代码片段中很有用添加如下。
  • 再次使用解决方案的“资源视图”,编辑对话框并使用 VS 的“工具箱”侧边栏,插入单选按钮控件。
  • 要更改其外观并使它们的行为类似于带有图像的切换按钮,请编辑每个按钮的以下属性:“位图”-> True,“Push Like”-> True。

然后,您必须以编程方式将位图资源加载到每个单选按钮中。为此,请将此代码插入对话框的

OnInitDialog()
函数(或任何其他合适的初始化例程)中:

// Loading a bitmap resource inside a radio button
// (will need #include "resource.h" at the very least so you can use your
// resource ids: IDC_..., IDB_... etc.) 

CBitmap myResourceBmp1;

myResourceBmp1.LoadBitmap(IDB_BITMAP_FOR_BUTTON_1);

CButton * pRadioBtn1 = (CButton *)GetDlgItem(IDC_RADIO_BTN_1);

if (pRadioBtn1)
    pRadioBtn1->SetBitmap(HBITMAP(myResourceBmp1));
© www.soinside.com 2019 - 2024. All rights reserved.