WINAPI 自定义资源 loadResourse & FindResourse &DrawText
2014-09-13 14:48
302 查看
向程序添加自定义资源的引用.Demo加入一个.txt文件.
.txt文件网上说支持ASCII字符,我也暂且这样记,就不考虑Unicode字符;
定义资源句柄变量:HGLOBAL hResource;
加载资源变量句柄:hResource=LoadResourse(hInstance,FindResourse(hInstance,资源名字,TEXT(" 自定义资源类型")));
eg:我自定义一个TEXT资源类型,添加ID为:IDR_FILENAME:(#define IDR_FILENAME 1);这个资源ID指向filename="coolsir.txt";用的时候:
hResource=LoadResourse(hInstance,FindResourse(hInstance,MAKEINTSRING(IDRFILENAME),TEXT("TEXT"));
资源ID可以直接用文件名字:ID:“coolsir.txt”
hResource=LoadResourse(hInst,FindResourse(hInst,TEXT("coolsir.txt"),TEXT("TEXT")));貌似更直观但似乎丧失资源使用的便捷性;
定义字符指针,接收加载资源的内存块:char * pText;
pText=(char *)LoadResourse(hResource);
加载.txt这里直接用char ,为什么不用TCHAR * ,我试过了乱码,可等是我其他定义了Unicode,.txt是Ascii;
然后pText这个指针的值就是 .txt 的在内存的地址 了;
输出:
DrawTextA();
用这个函数来输出,第一次犯了个不大不小的错误.
制表符输出错误,查资料MSDN发现DrawText的style有个DT_EXPANDTABS;扩展制表符;|上就输出OK.
.txt文件网上说支持ASCII字符,我也暂且这样记,就不考虑Unicode字符;
定义资源句柄变量:HGLOBAL hResource;
加载资源变量句柄:hResource=LoadResourse(hInstance,FindResourse(hInstance,资源名字,TEXT(" 自定义资源类型")));
eg:我自定义一个TEXT资源类型,添加ID为:IDR_FILENAME:(#define IDR_FILENAME 1);这个资源ID指向filename="coolsir.txt";用的时候:
hResource=LoadResourse(hInstance,FindResourse(hInstance,MAKEINTSRING(IDRFILENAME),TEXT("TEXT"));
资源ID可以直接用文件名字:ID:“coolsir.txt”
hResource=LoadResourse(hInst,FindResourse(hInst,TEXT("coolsir.txt"),TEXT("TEXT")));貌似更直观但似乎丧失资源使用的便捷性;
定义字符指针,接收加载资源的内存块:char * pText;
pText=(char *)LoadResourse(hResource);
加载.txt这里直接用char ,为什么不用TCHAR * ,我试过了乱码,可等是我其他定义了Unicode,.txt是Ascii;
然后pText这个指针的值就是 .txt 的在内存的地址 了;
输出:
DrawTextA();
用这个函数来输出,第一次犯了个不大不小的错误.
制表符输出错误,查资料MSDN发现DrawText的style有个DT_EXPANDTABS;扩展制表符;|上就输出OK.
相关文章推荐
- VC 中自定义资源 FindResource\LoadResource\LockResource 简介使用
- Could not load file or assembly "xxx" or one of its dependencies. The system cannot find the file sp
- Couldn't load libbt_serialport: findLibrary returned null
- 解决QT5.5.1 could not find or load the Qt platform plugin "windows"
- WinAPI: LoadIcon - 从资源中载入图标
- Caused by: java.lang.UnsatisfiedLinkError: Couldn't load zbar: findLibrary returned null
- it could not find or load the Qt platform plugin "windows"
- This application failed to start because it could not find or load the Qt platform plugin "xcb".
- 问题解决:it could not find or load the Qt platform plugin "windows"
- Caused by: java.lang.UnsatisfiedLinkError: Couldn't load microphone: findLibrary returned null
- 关于QT5 Failed to find or load platform plugin "windows" 问题
- Qt程序部署时遇到的坑:could not find or load the Qt platform plugin "windows"
- Couldn't load BaiduMapSDK_v3_1_0: findLibrary returned null
- 自定义 view oncreate -> onmesure -> onlayout ->在 成员方法findviewbyid 为 null , 在 onmesure则友值
- This application failed to start because it could not find or load the Qt platform plugin "xcb".
- "Could not find or load main class" in Hadoop or Java using Maven
- Qt release之后运行显示it could not find or load the Qt platform plugin "windows".解决方法
- This application failed to start because it could not find or load the Qt platform plugin "xcb".
- "无法启动Web服务器。Web服务器无法找到请求的资源" 或 "unable to start debugging on the web server.the web server could not find the request"解决方法
- Qt5 中发布程序遇到could not find or load the Qt platform plugin "windows"