VC编程之VC++中用API调用对话框资源
小标 2018-09-04 来源 : 阅读 1692 评论 0

摘要:本文主要向大家介绍了VC编程之VC++中用API调用对话框资源,通过具体的内容向大家展示,希望对大家学习VC编程有所帮助。

本文主要向大家介绍了VC编程之VC++中用API调用对话框资源,通过具体的内容向大家展示,希望对大家学习VC编程有所帮助。

关键技术:
    对于资源的加载需要几个API函数,下面分别介绍这几个API函数。
 a) FindResource 用来在一个指定的模块中定位所指的资源,语法如下:
     HRSRC FindResource(HMODULE hModule, LPCRSTR lpName, LPCTSTR lpType);
     参数说明:
    (1)hModule: 包含所需要的资料的模块句柄,如果是程序本身,则可以设置为NULL;
    (2)lpName: 可以使资源名称或者资源ID;
    (3)lpType:资源类型,在这里也就是自己指定的资源类型。
 b) LoadResource 用来将所有的资源加载到内存中,语法如下:
       HGLOBAL LoadResource(HMODULE hModule, HRSRC hResInfo);
     参数说明:
    (1)hModule: 包含所需要的资料的模块句柄,如果是程序本身,则可以设置为NULL;
    (2)hReInfo: 需要加载的资源句柄,这里也就是FindResource的返回值;
 c) LockResource 用来锁定内存中的资源数据块,返回值也就是要使用的直接指向资源数据的指针,语法如下:
       LPVOID LockResource(HGLOBAL hResData);
     参数说明:
     hResData: 指向内存中要锁定的资源数据块,这里也就是LoadResource的返回值。
效果如下:

设计过程:
1)使用VC6.0创建基于对话框的应用程序。
2)向窗体中添加一个静态文本控件,用鼠标右键点击对话框,在弹出的快捷键菜单中选择Properties命令,设置窗体的Caption属性为“API调用对话框资源”,如图(2)所示,

图(2)import 资源
3)在资源视图中,点击鼠标右键,在在弹出的快捷键菜单中选择Import命令,弹出“导入资源对话框”,选择一个txt文件,点击“Import”。
4)在弹出的“自定义资源类型”对话框中设置一个自定义资源类型,这里输入“Text”,如图(3)所示,

图(3) 新类向导
5)按Ctrl+W 组合键进入 类向导,为文本控件添加变量,如图(4)所示,
  

    图(4)为控件关联变量
6)设置文本框的属性,使其具有多行显示并可以显示滚动条,如图(5)所示,

图(5)设置多行显示,并显示水平垂直滚动条
7)添加“载入资源”按钮的点击事件,动态加载文本资源显示在文本框内,代码如下:
void CAPIResourceDlg::OnLoadResource() 

 HRSRC hRsrc = FindResource(NULL,MAKEINTRESOURCE(IDR_TEXT1),TEXT("Text"));
 if(NULL == hRsrc)
  return ;
 //获取资源的大小
 DWORD dwSize = SizeofResource(NULL,hRsrc);
 if(0 == dwSize)
  return ;
 //加载资源
 HGLOBAL hGlobal = LoadResource(NULL,hRsrc);
 if(NULL == hGlobal)
  return ;
 //锁定资源
 LPVOID pBuffer = LockResource(hGlobal);
 if(NULL == pBuffer)
  return ;
 m_Edit = (char *)pBuffer;
 this->UpdateData(false);
 UnlockResource(hGlobal);//资源解锁
 FreeResource(hGlobal); //释放资源
}

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标编程语言VC/MFC频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式AI+学习就业服务平台 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved