如何在MFC中操作资源句柄
如何获取动态库中对话框相关资源,避免因资源问题报错?
AfxGetResourceHandle用于获取当前资源模块句柄
AfxSetResourceHandle则用于设置程序目前要使用的资源模块句柄。
#ifndef _MACRO_H
#define _MACRO_H #define CLASS_EXPORT __declspec(dllexport) //导出类
#define API_EXPORT __declspec(dllimport) //导出函数 //获取动态库中对话框相关资源,避免因资源问题报错 #ifndef _UNICODE
#define GS_LPCSTR LPCSTR
#else
#define GS_LPCSTR LPCWSTR
#endif #ifndef __DLLRESOURCE_FUNC
#define __DLLRESOURCE_FUNC
#define MCR_BEGIN_GET_DLLRES(macro_flag, dllname) \
BEGIN_GET_DLLRES(macro_flag, dllname);
#define MCR_END_PUT_DLLRES(macro_flag, hinst) \
END_PUT_DLLRES(macro_flag, hinst); HINSTANCE BEGIN_GET_DLLRES(UINT macro_flag, GS_LPCSTR dllname);
VOID END_PUT_DLLRES(UINT macro_flag, HINSTANCE hinst); static HINSTANCE BEGIN_GET_DLLRES(UINT macro_flag, GS_LPCSTR dllname)
{
#ifndef macro_flag
HINSTANCE hinstOld = AfxGetResourceHandle();
#ifdef _DEBGU
AfxSetResourceHandle(GetModuleHandle(dllname));
#else
AfxSetResourceHandle(GetModuleHandle(dllname));
#endif
return hinstOld;
#endif
return ;
}; static void END_PUT_DLLRES(UINT macro_flag, HINSTANCE hinst)
{
#ifndef macro_flag
AfxSetResourceHandle(hinst);
#endif
};
#endif //_DLLRESOURCE_FUNC
#endif //_MACRO_H
如何在MFC中操作资源句柄的更多相关文章
- 【VS开发】【CUDA开发】如何在MFC中调用CUDA
如何在MFC中调用CUDA 有时候,我们需要在比较大的项目中调用CUDA,这就涉及到MFC+CUDA的环境配置问题,以矩阵相乘为例,在MFC中调用CUDA程序.我们参考罗振东iylzd@163.com ...
- 如何在MFC中创建非矩形button
一般情况下,我们创建的按钮都是矩形的,但有时为了满足特殊的需求,我们要在对话框中创建一个非矩形的按钮,比如,圆形,椭圆等. 要实现一个非矩形的按钮,这就涉及到了自绘控件.自绘控件的方法有很多,可以参考 ...
- 如何在MFC中启动其它的(.exe)可执行文件
ShellExecute(NULL, "open", "http://www.sina.com.cn", NULL, NULL, SW_SH ...
- WPF MVVM 如何在ViewModel中操作View中的控件事件
(在学习Wpf的时候,做一个小例子,想在TextBox改变后,检验合法性,并弹出提示.在找了很多贴后,发现这个小例子,抄袭过来,仅供参考. 最后也找到了适合自己例子的办法:在出发TextChanged ...
- 如何在LinuxKernel中操作file(set_fs與get_fs)
在Kernel 中,照理說能存取至 0 ~ 4GB.但是實作層面卻是只能讓我們使用到3GB ~ 4GB 這會導致我們無法使用open(),write()這些在user space下的function. ...
- 如何在MFC中添加对话栏
- 关于MFC资源句柄、ID和对象
一.资源.句柄和ID 资源: MFC中的资源,如菜单.对话框.图标.工具条.对话框等,是windows创建的,并占用堆内存.windows在创建这些资源时候会给每个资源分配一个句柄,用来标记这些资源, ...
- (转)MFC中获得各个类的指针/句柄 ID的总结
http://www.cnblogs.com/ylhome/archive/2009/10/06/1578478.html 一般我们使用的框架是VC提供的Wizard生成的MFC App Wizard ...
- MFC中的句柄
1.引出句柄 CDC问题:1.CDC dc;dc.LineTo(point);无法运行 2.CDC *dc=GetDC();dc->LineTo(point);就可以运行了 MFC中有大量的句柄 ...
随机推荐
- Oracle字符编码
.检查服务器编码: 执行SQL语法: Java代码 select * from v$nls_parameters; 或 Java代码 select * from nls_database_parame ...
- Keil MDK中使用pc-lint的详细方法
keil MDK版本:V4.03 PC-lint版本: V8.0 关于pc-lint的强大作用,网上有很多,这里不想再复述,只说一句:能通过pc-lint检验的程序不一定没有问题,但通过了pc-li ...
- C语言入门(19)——C语言的编码风格
代码风格好不好就像字写得好不好看一样,如果一个公司招聘秘书,肯定不要字写得难看的,同理,代码风格糟糕的程序员肯定也是不称职的.虽然编译器不会挑剔难看的代码,照样能编译通过,但是和你一个团队进行协作的其 ...
- NSInteger到底是什么数据类型
看iOS SDK 方法返回的类型都是NSInteger,但是官方给出的示例代码一般for循环的计数器就都是int了. - (NSInteger)tableView:(UITableView *)tab ...
- Win7下unetbootin-windows-585工具制作Ubuntu12.04 U盘启动盘
1.下载unetbootin-windows-585工具,网址如下: unetbootin-windows-585 2.unetbootin-windows-585制作U盘启动盘 准备好1个4G的U盘 ...
- 系统学习Linux的11点建议
一.从基础开始 常常有些朋友在 Linux 论坛问一些问题,不过,其中大多数的问题都是很基础的.例如为什么我使用一个命令的时候,系统告诉我找不到该目录,我要如何限制使用者的权限等问题,这些问题其实都不 ...
- Body joints angle using Kinect
http://stackoverflow.com/questions/12608734/body-joints-angle-using-kinect-checking-time-interval?rq ...
- C++隐式转换
#include <iostream> using namespace std; class A { int a; public: A(int n):a(n) { cout << ...
- javascript动态改变iframe的src
页面中需要动态的改变iframe的地址,方法有: 1. window.frames["chartFrame"].document.location = "<%=ba ...
- SSRS(rdl报表)分页显示表头和冻结表头
<TablixRowHierarchy> <TablixMembers> <TablixMember> ...