C++如何使用CWnd*对象加载图像
C++ How to use CWnd * object to load images?
我是C++的新手,我需要编辑C++软件。我需要用图像图标替换GUI按钮图形。我不确定,但也许按钮是在这部分代码中创建的:
BOOL CButtonDlg::OnInitDialog()
{
CDialog::OnInitDialog();
SetDlgItemText(IDC_BUTTON_LOAD,_T("Load"));
return TRUE;
}
当我查看代码时,我看到按钮启用了这样一个代码:
m_dButtondlg.GetDlgItem(IDC_BUTTON_LOAD)->EnableWindow(true);
其中,IDC_BUTTON_LOAD是整数常量。我在代码中找不到常量的任何其他用法,所以我不确定按钮是如何创建的。我只知道
m_dButtondlg.GetDlgItem(IDC_BUTTON_LOAD)
返回指向CWnd 的指针
如何使用CWnd对象将图像附加到按钮?
编辑:我发现,用IDC_button_LOAD标识的按钮是CDIalog派生类的实例,而不是CButton。
最好的方法是将CWnd指针转换为CButton,如下所示,
CButton * DlgButton = (CButton*)GetDlgItem(IDC_BUTTON_LOAD);
您可以轻松地将图像加载到CButton对象上。
编辑
在CButton、上加载位图的代码
CButton * DlgButton = (CButton*)GetDlgItem(IDC_BUTTON_LOAD);
DlgButton->ModifyStyle( 0, BS_ICON );
HICON hIcn= (HICON)LoadImage(
AfxGetApp()->m_hInstance,
MAKEINTRESOURCE(IDI_ICON3),
IMAGE_ICON,
0,0, // use actual size
LR_DEFAULTCOLOR
);
DlgButton->SetIcon( hIcn );
相关文章:
- 共享对象、符号、C/C++ 库链接和加载
- ./main:加载共享库时出错:libopencv_highgui.so.4.0:无法打开共享对象文件:没有这样的文件或
- 在 win32 上生成 R 包:无法加载共享对象 (.dll)
- 指向临时对象的自定义迭代器(延迟加载)
- 加载共享库时出错:libbsoncxx.so._noabi:无法打开共享对象文件:没有此类文件或目录
- C++ csv 文件无法正确加载到矢量,它似乎知道对象在那里但不显示它们
- 将文件从 iOS 应用程序加载到 C++ 对象中/<iostream>iOS 上的问题
- 正在加载共享对象:文件中未定义版本Qt_5
- 如何将统一缓冲区对象数组加载到着色器中?
- 加载共享库时出现"错误:libSDL2_mixer-2.0.so.0:无法打开共享对象文件:没有这样的文件或目录
- 加载地址 X 时,对于 Y 类型的对象没有足够的空间
- 通过无符号 char 别名进行对象访问,加载和存储时会发生什么?
- 加载共享库时出错:无法在外部硬件上打开共享对象文件:
- IE 探索 11 < c++ ATL COM 浏览器帮助程序对象(加载项)来替换 DOM 中的文本
- 用LD_PRELOAD和C++中的全局作用域对象加载堆分析器
- C++如何使用CWnd*对象加载图像
- 将对象加载到指向对象的指针数组中
- GCC下的对象加载段错误
- Opengl对象加载器与纹理
- opengl中的对象加载器