用c语言写易语言Linux库,C语言编写支持库教程

已有11位网友发表了看法:

e879c75e0c5771b11bdd75215115c93a.png

三叶资源网  评论于 [2019-01-09 00:14:06]

易语言支持库第一课

什么是易语言支持库?

易语言支持库的开发文档。

前期准备工作,环境,路径配置。

lib2.h 必须文件,包含支持库类型、宏定义等

fnshare.h fnshare.cpp 可选文件,提供了一些常用的代码封装。

-----------------------

入口函数:

[line:75]

#define FUNCNAME_GET_LIB_INFO   "GetNewInf"         // 取本支持库的PLIB_INFO指针的输出函数名称

typedef PLIB_INFO (WINAPI *PFN_GET_LIB_INFO) ();    // GetNewInf的函数原型

LIB_INFO结构体定义 [line:85] - [line:280]

需要注意的位置:m_nMajorVersion,m_nMinorVersion,_LIB_OS,m_pfnNotify

-----

需要了解的数据类型定义及长度:

[line:282]-[line:420]

额外阅读: 3、数据存储方式

-----

支持库环境通知方法*[line:422]

**新版VS不支持默认参数。

同时需要定义:NotifySys [line:444]

------

以上为支持库信息定义,定以后便可以编译生成并且在易语言中调用支持库。 e879c75e0c5771b11bdd75215115c93a.png

三叶资源网  评论于 [2019-01-09 00:14:27]

易语言支持库第二课

向支持库中添加一些“东西”

添加常量。

添加全局命令。

常量的定义:

LIB_CONST_INFO 定义 [line:468]

修改 : LIB_INFO结构体定义

INT m_nLibConstCount;   // 常量数目。    [line:277]

PLIB_CONST_INFO m_pLibConst;    // 指向常量定义数组。 [line:278]

---------------

实现全局命令

要向编写一个全局的命令,将要分成3个步骤:

1.定义一个:CMD_INFO [line:539]

注意:_CMD_OS

2.如果存在参数,则定义参数。ARG_INFO [line:608]

将参数信息写入CMD_INFO中。

m_nArgCount [line:601]

m_pBeginArgInfo [line:602]

3.定义命令函数体。 [line:665]

typedef void (*PFN_EXECUTE_CMD) (PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf);

例子 [line:766] e879c75e0c5771b11bdd75215115c93a.png

三叶资源网  评论于 [2019-01-09 00:14:42]

易语言支持库第三课

多实现几个命令

接上一课作业:

将所有参数定义到同一个argInfo中。

实现“文本型”返回值的命令

CloneTextData 命令:[line:769]

注意指针的使用和释放。

实现“数组型”参数的命令:[line:1426]

GetAryElementInf 命令:[line:825]

实现“通用型”参数的命令:[line:1290]

由于所有类型官方都提供了例子,所以课程不逐一介绍,具体请参见:

[line:762] - [line:2023] e879c75e0c5771b11bdd75215115c93a.png

三叶资源网  评论于 [2019-01-09 00:14:58]

易语言支持库第四课

再向支持库中添加一些“东西”

添加一个自定义数据类型

数据类型的定义:[line:2025]

窗口部分在后面的课程中进行介绍,本课主要研究普通数据类型。

数据类型中的方法定义:[line:2102]

注意:方法所属分类category必须为-1.

实现代码中,第一个参数始终为指向其所在数据类型的对象指针。

向数据类型中定义一个普通的成员:[line:2133]

参看:LIB_DATA_TYPE_ELEMENT定义。

扩展: 定义枚举变量[line:2060] e879c75e0c5771b11bdd75215115c93a.png

三叶资源网  评论于 [2019-01-09 00:15:10]

支持库编写第五课:

窗口组件的定义: [line: 2253]

为了保证能够和官方核心库完整兼容,窗口定义部分使用 VC98 (6.0) 进行编写。

窗口组件也是一种数据类型,只是该数据类型被标记为窗口组件。

标记为窗口组件的组件需要额外实现一些方法、内容,才能确保程序显示正常。

下面来看具体的介绍:

如果为窗口组件,则在定义数据类型时,要特别注意下面这些:

LIB_DATA_TYPE_INFO 中的 m_dwState, m_dwUnitBmpID, m_nEventCount, m_pEventBegin, m_nPropertyCount, m_pPropertyBegin, m_pfnGetInterface

[line: 2025]

介绍unshare.h与unshare.cpp文件:

文件中包含了一些在编程中需要使用到的类,这里官方做了整理。直接调用便可。

额外需要注意的地方 [line:2992] e879c75e0c5771b11bdd75215115c93a.png

三叶资源网  评论于 [2019-01-09 00:15:18]

支持库编写第六课:

编写一个“按钮”:

复习上一课:

通过支持库接口创建一个按钮,按钮应该继承自基类: CButton   [line:2994]

重要的类:

class CPIButton : public CPropertyInfo

属性类。 用来保存所有的组件相关的属性。 继承自 CPropertyInfo

需要实现: Init        初始化方法

需要实现: Serialize   用于在运行时应用属性

#define    ITF_CREATE_UNIT                    1    // 创建单元

实现Create创建,用于创建窗口。

-----------------------------------------------------------------------------

分别实现对应的“接口(GetInterface)”方法:[line: 2480]

#define    ITF_CREATE_UNIT                    1    // 创建单元

// 下面两个接口仅在可视化设计窗口界面时使用。

#define    ITF_PROPERTY_UPDATE_UI             2    // 说明属性目前可否被修改

#define    ITF_DLG_INIT_CUSTOMIZE_DATA        3    // 使用对话框设置自定义数据

#define    ITF_NOTIFY_PROPERTY_CHANGED        4    // 通知某属性数据被修改

#define    ITF_GET_ALL_PROPERTY_DATA          5    // 取全部属性数据

#define    ITF_GET_PROPERTY_DATA              6    // 取某属性数据

首先实现窗口的一些属性。

窗口属性的定义:

如果需要定义窗口的属性,则需要给m_nPropertyCount,m_pPropertyBegin赋值;

需要注意的地方是:在属性m_pPropertyBegin定义的最前面必须使用:FIXED_WIN_UNIT_PROPERTY([line:34 e879c75e0c5771b11bdd75215115c93a.png

三叶资源网  评论于 [2019-01-09 00:15:31]

持库编写第七课:

窗口组件的方法:

组件方法类似于自定义数据类型的方法,使用默认的定义即可。

编写方法的实现代码时要注意,此时第一个参数始终为指向其所在数据类型的对象指针

在方法中获取窗口类型指针。

{

GetWndPtr (pArgInf);

}

-----------------------

窗口组件的事件:

需要实现窗口组件的事件,首先需要定义事件、事件参数等。

EVENT_INFO  :  [line:2419]

EVENT_INFO2 :  [line:2444]

-

EVENT_ARG_INFO : [line:2397]

EVENT_ARG_INFO2 : [line:2413]

事件定义完毕后,将会在易语言设计界面中看到对应的事件,并且可以看到参数值等。

-

触发窗口事件: [line:2917]

时间的触发,需要使用:EVENT_NOTIFY : [line:2926] 或 EVENT_NOTIFY2:[line:2945],来作为通知(NotifySys-NRS_EVENT_NOTIFY)的参数。

----------------------------------------------------------------------

更多内容请看代码。 e879c75e0c5771b11bdd75215115c93a.png

易语言资源网站  评论于 [2019-03-19 13:12:06]

易语言+调用+.h e879c75e0c5771b11bdd75215115c93a.png

易语言源码大全  评论于 [2019-04-06 10:05:50]

易语言制作支持库带属性 e879c75e0c5771b11bdd75215115c93a.png

易语言子程序  评论于 [2019-05-25 23:12:50]

C语言支持库开发 e879c75e0c5771b11bdd75215115c93a.png

易语言  评论于 [2020-04-17 22:04:33]

C语言支持库编写第八课

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/253065.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

java支持库 易语言_易语言支持库|易语言支持库更新集合包下载233个 - 欧普软件下载...

易语言支持库更新集合包是目前比较齐全的集合包,包含233个,有EXCEL2000支持库2.0、Java支持库2.0、PowerPoint2000支持库2.0、DirectX2D支持库2.0、位图操作支持库2.0等等,一包在手,所有功能都可实现了,有需要的朋友赶…

易语言支持库配置闪退丨支持库配置崩溃_易语言打开支持库配置就闪退怎么办?

易语言支持库配置闪退打不开怎么办? 易语言支持库配置闪退解决方法丨支持库配置崩溃_易语言打开支持 易语言支持库配置闪退丨支持库配置崩溃_易语言打开支持库配置就闪退怎么办? 很多人都遇到过 打开易语言支持库安装菜单报错退出的问题 今天教大家解决方法 我们…

idea配置javap命令

文章目录 idea配置javap命令1. 通过idea配置javap -c命令来配置下javap命令1.1 选择File->Settings->Tools->External Tools1.2 点击号1.3 按如下配置: 2 在idea上使用javap -c命令2.1 在当前类上执行javap -c命令2.2 执行结果: 3 javap命令的参…

ImageMagick将多张图片拼接成一张图片_只有一张图片,也能做出一整套PPT!

暑期特惠最后一天 超值福利限时领取 做 PPT 经常遇到这样的问题: 老板在玩命催促,眼看着就到 deadline 了,手头上的素材却少得可怜,怎么才能快速完成一套 PPT 啊! 不慌,今天我们就来挑战用一张图片,做出一整套 PPT! 作者:忘吃药的晓公子 来源:忘吃药的晓公子(ID:CRA…

ImageMagick将多张图片拼接成一张图片_介绍一款全功能的图片查看编辑软件

平常经常要打开图片和裁剪编辑图片,经常好几个工具串着用。 虽然使用没什么大碍,但切换应用繁琐了点。 刚好格式工厂家出了图片工厂这款软件。 官网说图片工厂基本上所有的图片处理需求都能满足。 我去官网(http://www.pcfreetime.com&#x…

【Opencv】Python+openCV实现全景图拼接(左右两张图片拼接成一张全景图)

PythonopenCV实现全景图拼接(左右两张图片拼接成一张全景图) 全景图拼接思路具体步骤 代码与结果代码效果测试1效果测试2 全景图拼接 思路 这个就是简单对左右两张图进行拼接,希望实现下面效果: 左图 全景图 右图 这里不是指严丝…

IDEA下载、破解和测试(自己记录)

下载破解教程在微信 代码直接引用 psvm sout

2023最新IDEA安装以及使用教程

****************************************** 新增IDEA常用设置 csdn官方链接http://t.csdn.cn/QVKso​​​​​​ ****************************************** Tip:安装教程使用2022.3.3版本 ****************************************** 官方网站下载https…

IDEA破解方法

首先,下载JetbrainsCrack.jar包,放入到IDEA安装目录的bin目录下; 某盘链接:https://pan.baidu.com/s/16lA7ie6JlbMU_ztW49RASA 提取码:p1ef 其次,打开试用版idea,然后打开IDEA菜单:H…

如何卸载 IDEA 破解补丁 Betterintellij ?

如何卸载 IDEA 破解补丁 Betterintellij ? 开始卸载 Betterintellij 补丁 这个补丁被黑客篡改过,有安全风险,强烈建议小伙伴们卸载掉,以免对自己造成损失。怎么卸载呢?跟着下文操作即可。 开始卸载 Betterintellij 补丁 1、在 …

IDEA破解教程

一、将下载的 JetbrainsCrack-2.6.2.jar 破解补丁放在你的安装idea下面的bin的目录下面(如图)。 我的是F:\idea\IntelliJ IDEA 2017.1\bin 二、修改配置文件 在安装的idea下面的bin目录下面有2个文件 : 一个是idea64.exe.vmoptions&#xf…

2019IDEA破解安装

安装 直接去官网下载正版的IDEA: https://www.jetbrains.com/idea/download/ 下图 下载完成,直接点击安装包运行就可以了。 安装时,选择适合自己电脑的版本(64位,或者32位)已及安装路径即可,其…

idea破解失败无法打开

今天在学习使用spring boot 写接口的时候发现idea过期了然后查了一下如何破解,破解到了重启这一步之后就无法打开了,重装了很多次也没有用之后查了很久资料终于解决了,写个博客记录一下。 首先我是通过idea修改了idea64.exe.vmoptions文件 这…

IDEA破解安装

首先下载破解jar文件: JetbrainsCrack-3.1-release-enc将下载的jar文件放入bin目录下修改idea.exe.vmpotion/idea64.exe.vmoption文件后加: 4.重新启动idea,选择第二个破解码,将下文复制进去即可 ThisCrackLicenseId-{ “license…

idea破解方式

第一种方法: 在idea激活出选择 license server 并将http://idea.iteblog.com/key.php或者http://xdouble.cn:8888/填入到address处,点激活。 第二种:点开网址:http://idea.lanyus.com/如下图 将获取的注册码复制到 Activation …

CAD图形离散成数据点

打开DXF文件,将图形转换成数据点: 原图: 离散点: 图形分割步距可设,支持直线、圆、圆弧、椭圆、椭圆弧、样条曲线及其组合图形。

FME对CAD中组的处理

原文发布时间:2013-07-03 作者:小新 CAD中除了常见的点、线、面,还有一些特殊的几何类型,如CAD中的块,组等。 CAD的块比较常见,最近在处理CAD数据的时候,遇到CAD中的组,那么来看看…

Python AutoCAD 块组

目 录 Blog Links一、连接及库导入二、块2.1. 创建新块2.2. 添加图元到块2.3. 插入块2.3.1. 从当前文件中插入块2.3.2. 外部文件作为块插入 2.4. 添加属性到块2.4.1. 当前文件创建的块属性添加2.4.2. 外部文件作为插入块的属性添加 2.5. 已有块属性的读取 三、组3.1. 创建新组 …

CAD中组(Group)如何应用,编组和图块有何区别?

图块大家用得都比较多了,但组(Group)用到的人并不多,因为在AutoCAD菜单里似乎找不到这个命令,在浩辰CAD倒是提供了“组工具”的工具栏,在扩展工具里,可以快速创建和分解组。 组到底有什么用呢?组和图块有什…

正能量分享

♡ ⁰2 ♫ 10.18 星期二 ﹊﹊﹊﹊﹊﹊﹊﹊﹊ 这个世界上 不确定的事太多了 唯一可以确定的人 你不努力 没人给你想要的生活 你不改变 没人给你想要的人生