本帖最后由 yyyxb 于 2022-7-29 16:52 编辑
原贴:https://bbs.125.la/forum.php?mod=viewthread&tid=14738119
本人小白,好不容易钻研出部分黑月rc资源使用办法,现在公布一下。方便大家使用(因为网上基本没有)。本人使用模块:“黑月界面类3.8.9”
有些rc资源(如窗口)的使用方法可以在网上(本站就可以)搜到,这里不多说。
有些类型的rc资源(如“AVI”“FONT”“MANIFEST”“MESSAGETABLE”“WAVE”等)我因为没用,所以也就不知道怎么用,网上源码也难找,如果有会的小伙伴可以分享一下。注:资源要初始化程序后再调用
String 文本字符串: |
RC_String | 文本型 | | |
参数_资源ID | 整数型 | | | | 参数_缓冲区长度 | 整数型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | Resource_String | zyString | | | Text | 文本型 | | |
Resource_String. 创建 ()判断 (是否为空 (参数_缓冲区长度 )) Resource_String. 添加RC资源 (参数_资源ID, GetFitBuffer (参数_资源ID )) Resource_String. 添加RC资源 (参数_资源ID, 参数_缓冲区长度 )Text = Resource_String.取文本 ()Resource_String. 销毁 ()返回 (Text )
Unicode 版: |
RC_String_Unicode | 字节集 | | |
参数_资源ID | 整数型 | | | | 参数_缓冲区长度 | 整数型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | Resource_String | zyString | | | Text | 字节集 | | |
Resource_String. 创建 ()判断 (是否为空 (参数_缓冲区长度 )) Resource_String. 添加RC资源 (参数_资源ID, GetFitBuffer (参数_资源ID )) Resource_String. 添加RC资源 (参数_资源ID, 参数_缓冲区长度 )Text = Resource_String.取文本W ()Resource_String. 销毁 ()返回 (Text )代码中提到的“GetFitBuffer ()”: 变量名 | 类 型 | 静态 | 数组 | 备 注 | 取出文本W | 字节集 | | | 计次W | 整数型 | | | 取出文本 | 文本型 | | | 计次 | 整数型 | | |
计次 = 计次 + 5 判断循环首 (取出文本 ≠ RC_String (资源ID, 计次 )) 取出文本 = RC_String (资源ID, 计次 )计次 = 计次 + 1 判断循环尾 ()计次W = 计次W + 5 判断循环首 (取出文本W ≠ RC_String_Unicode (资源ID, 计次W )) 取出文本W = RC_String_Unicode (资源ID, 计次W )计次W = 计次W + 1 判断循环尾 ()程序_整理内存 ()判断 (计次 > 计次W )返回 (计次 - 1 )返回 (计次W - 1 )
Icon 图标:
Image 图像(*.jpg,*.gif,*.png): 变量名 | 类 型 | 静态 | 数组 | 备 注 | Resource_Image | 图像类 | | |
Resource_Image. 载入字节集 (黑月取资源字节集 (黑月寻找自定义资源 (参数_资源ID, “IMAGE”)) )返回 (Resource_Image )
Bitmap 位图: 变量名 | 类 型 | 静态 | 数组 | 备 注 | Resource_Bitmap | 位图类 | | | Resource_Image | 图像类 | | |
Resource_Bitmap. 创建自RC资源 (参数_资源ID )Resource_Image. 置指针 (Resource_Bitmap. 取指针 ()) 返回 (Resource_Image )字节集版: |
RC_Bitmap_Bin | 字节集 | | |
参数_资源ID | 整数型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | Resource_Bitmap | 位图类 | | | Resource_Image | 图像类 | | | Bitmap | 字节集 | | |
Resource_Bitmap. 创建自RC资源 (参数_资源ID )Resource_Image. 置指针 (Resource_Bitmap. 取指针 ()) Bitmap = Resource_Image. 保存到字节集 ( #图像格式_BMP )Resource_Image. 销毁 ()Resource_Bitmap. 销毁 ()返回 (Bitmap )
Cursor&AniCursor 鼠标指针(光标): 有一个问题,经过此子程序返回的图标类,动画光标无法正常播放,暂时无法解决。小伙伴若有解决方法,可以评论指出。
Accelerator 加速器(快捷键): |
RC_Accelerator | 黑月快捷键信息 | | |
参数_加速表ID | 整数型 | | | | 参数_资源ID | 整数型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | Resource_Accelerator | 快捷键类 | | | Accelerators | 黑月快捷键信息 | | 0 | Accelerator | 黑月快捷键信息 | | | Times | 整数型 | | |
Resource_Accelerator. 载入 (参数_加速表ID )Resource_Accelerator. 取快捷键信息 (Accelerators )判断 (取数组成员数 (Accelerators ) = 0 )返回 (Accelerator )判断 (取数组成员数 (Accelerators ) = 1 )返回 (Accelerators [1 ])计次循环首 (取数组成员数 (Accelerators ), Times )判断 (Accelerators [Times ].ID = 参数_资源ID )返回 (Accelerators [Times ])计次循环尾 ()返回 (Accelerator )|
GetAcceleratorInfo | 整数型 | | |
Accelerator | 黑月快捷键信息 | | | | Type | 整数型 | | | | 判断 (Type = 0 )返回 (Accelerator.ID )判断 (Type = 1 )返回 (Accelerator.键代码 )判断 (Type = 2 )返回 (Accelerator.功能键状态 )返回 (0)
其中在“RC_Accelerator”中参数“参数_加速表ID”指的是加速器表的资源ID,若用文本编辑器(如记事本)打开rc文件(有加速器资源),可以发现
用文本编辑器打开rc文件
加速器表“IDR_ACCEL1”被定义,根据格式“#define <ResourceName> <ResourceID>”,可以得知加速器表“IDR_ACCEL1”的资源ID为“1”。 使用示例:拿图片中说:取快捷键信息:RC_Accelerator (1, 258) 取快捷键信息中的ID:GetAcceleratorInfo (RC_Accelerator (1, 258), 0) ' 如果此快捷键资源存在,肯定返回ID“258” 取快捷键信息中的键代码:GetAcceleratorInfo (RC_Accelerator (1, 258), 1) 取快捷键信息中的功能键状态:GetAcceleratorInfo (RC_Accelerator (1, 258), 2) (注:使用“GetAcceleratorInfo”时要设置易语言系统配置中“编译->数值精度丢失检查”不选中,否则分开写)
自定义资源: |
RC_CustomResource | 字节集 | | |
Resoure_ID | 整数型 | | | | Resource_Type | 文本型 | | | |
Resource_Type = 删首尾空 (Resource_Type )返回 (黑月取资源字节集 (黑月寻找自定义资源 (Resoure_ID, Resource_Type )) )注:参数“Resource_Type”该大写大写 现在(据我)已知“IMAGE”“RCDATA”、自定义资源可以通过此方法调用,“BITMAP”“CURSOR”“ANICURSOR”无法通过此方法调用。至于“STRING”“ACCELERATORS”就更不用说。 如果测试有可通过此方法调用的资源类型或是不能的,可以在评论区标注好可不可以再打出来,我也不费心思测试了。
|