c++ - 从对话框项中获取资源 ID

标签 c++ winapi mfc

我把一个图片控件放到一个对话框中,然后做了这个设置 杂项->类型->位图 杂项->图像->999

现在在对话框的 OnInitDialog 函数中,我捕获了图片控件的 CWnd*,我想获得我分配给 Controller 的图像或图像的 id(999)的句柄 我该怎么做?

谢谢你的帮助。

CONTROL 65443, IDC_TRUSS_CTRL, "静态", SS_BITMAP, 13, 13, 517, 212

为了更准确地说明这个问题,我想要数字 65443 我有对话框的句柄来控制这个控件,我也有 IDC_TRUSS_CTRL 的句柄

我做的是: bool 错误; dialogWnd->GetDlgItemInt(controlWnd->GetDlgCtrlID(), &error, 0);

然而 error 为 0,这意味着它遇到了错误:\

最佳答案

您可以从控件转换为 CStatic 而不是 CWnd 获取 CBitmap 指针:

CStatic *pPictureCtrl = (CStatic*)GetDlgItem( PICTURE_CONTROL_ID ); //Notice is the control resources ID not the Image resources ID
CBitmap *pBitmap = pPictureCtrl->GetBitmap();

但这不会有太大帮助,具体取决于您想用它做什么 (?)。

关于c++ - 从对话框项中获取资源 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12073276/

相关文章:

c++ - Visual Studio const_iterator 分配错误

c++ - 密码策略 Windows API

winforms - 如何通过代码打开窗口的系统菜单?

c++ - 将 MFC C++ 项目从 VS 2008 升级到 2013 时出错

c++ - 项目中无法识别代码块文件

c++ - 如何使用 C++ std::barrier arrival_token?

c++ - 在 C++ 中创建具有相同接口(interface)的类返回的 bool 值的反转的推荐方法?

c++ - 异步停止 Windows 服务

c++ - 是否有任何 IID_XXX 可以从 Internet Explorer 获取焦点选项卡?

visual-studio-2008 - 安装VS2008后,在winnt.h中出现编译错误