为编程爱好者分享易语言教程源码的资源网
好用的代理IP,游戏必备 ____广告位招租____ 服务器99/年 ____广告位招租____ ____广告位招租____ 挂机,建站服务器
好用的代理IP,游戏必备 ____广告位招租____ 服务器低至38/年 ____广告位招租____ ____广告位招租____ 挂机,建站服务器

网站首页 > 易语言相关 > 图形图像源码 正文

易语言无限打开/创建窗口

三叶资源网 2019-04-23 15:25:51 图形图像源码 3400 ℃ 11 评论

易语言无限打开窗口 自绘皮肤源码

@aqwvwv

.版本 2
.支持库 spec

.程序集 程序集_启动子程序
.程序集变量 主窗口, 分层_窗口
.程序集变量 窗口1, 分层_窗口, , "0", ' 本源码来自三叶资源网(www.sanye.cx)
.程序集变量 按钮_添加窗口, 分层_按钮
.程序集变量 集_窗口状态, 分层_窗口状态, , "0"

.子程序 _启动子程序, 整数型

主窗口.创建 (0, , , 400, 280, 真, “添加子窗口例子”, , , #青蓝, 253, 真, 真, , , 真, , 到整数 (&_主窗口_创建完毕), , 假, , , , , , , 真, 真, #窗口_关闭钮, #控制钮风格_QQ, , )
主窗口.事件_可否关闭 (到整数 (&_主窗口_可否关闭))
窗口_消息循环 ()  ' 凭空创建窗口必须加入 窗口_消息循环() 不然直接结束
返回 (1)


.子程序 _主窗口_可否关闭, 整数型
.参数 窗口句柄, 整数型

PostQuitMessage (0)  ' 关闭主窗口前,结束 窗口_消息循环()
返回 (1)

.子程序 _主窗口_创建完毕
.参数 窗口句柄, 整数型

按钮_添加窗口.创建普通钮 (窗口句柄, , 120, 200, 60, 25, “添加窗口”, #青蓝, , , #蓝色)
按钮_添加窗口.事件_鼠标单击 (到整数 (&_按钮_添加窗口_鼠标单击))

.子程序 _按钮_添加窗口_鼠标单击
.参数 组件索引, 整数型
.局部变量 成员数, 整数型
.局部变量 n, 整数型

成员数 = 取数组成员数 (窗口1)
' 判断一下窗口数量是否为0或数量和当前创建的数量一直,如果一致则重定义,将窗口数量+1
.判断开始 (成员数 = 0 或 成员数 = 集_窗口状态 [1].已创建数量)
    重定义数组 (窗口1, 真, 成员数 + 1)
    重定义数组 (集_窗口状态, 真, 成员数 + 1)
    成员数 = 取数组成员数 (窗口1)
.默认
    ' 假设已经创建了5个窗口,但是其中有一个窗口被关闭了,这时候不需要添加窗口上限数量,取出是第几个窗口被关闭了,再创建出来,利用资源
    .计次循环首 (成员数, n)
        .如果真 (集_窗口状态 [n].窗口是否已创建 = 假)
            成员数 = n
            跳出循环 ()
        .如果真结束
        ' 本源码来自三叶资源网(www.sanye.cx)
    .计次循环尾 ()
.判断结束

窗口1 [成员数].创建 (0, , , 400, 280, 真, “添加窗口” + 到文本 (成员数), , , #青蓝, 253, 真, 真, , , 真, , , , 假, , , , , , , 真, 真, #窗口_关闭钮, #控制钮风格_QQ, , )
窗口1 [成员数].事件_可否关闭 (到整数 (&_窗口1_可否被关闭))
集_窗口状态 [成员数].窗口是否已创建 = 真  ' 每次窗口创建成功后,都在相应窗口上标记已创建
集_窗口状态 [成员数].窗口句柄 = 窗口1 [成员数].取句柄 ()  ' 在相应窗口上标记该窗口的句柄
集_窗口状态 [1].已创建数量 = 集_窗口状态 [1].已创建数量 + 1  ' 记录总创建的窗口数量,放在第一个成员身上
.如果真 (成员数 = 1)  ' 判断第一个窗口是否被创建了
    调试输出 (“第一个窗口已创建”)
    集_窗口状态 [1].第一个窗口是否被关闭 = 假
.如果真结束
' 本源码来自三叶资源网(www.sanye.cx)
调试输出 (“当前创建的是” + 到文本 (成员数), “实际已窗口数量” + 到文本 (取数组成员数 (窗口1)), “第一个窗口是否被关闭” = 到文本 (集_窗口状态 [1].第一个窗口是否被关闭))

.子程序 _窗口1_可否被关闭, 整数型
.参数 窗口句柄, 整数型
.局部变量 成员数, 整数型, , , ' 本源码来自三叶资源网(www.sanye.cx)
.局部变量 n, 整数型

' 取出有当前实际创建了多少个窗口
成员数 = 取数组成员数 (窗口1)
.计次循环首 (成员数, n)
    ' 循环判断窗口句柄,得知是那个窗口被关闭了
    .如果真 (集_窗口状态 [n].窗口句柄 = 窗口句柄)
        ' 将被关闭的窗口标记为 假 并将已创建的窗口数量-1
        集_窗口状态 [n].窗口是否已创建 = 假
        集_窗口状态 [1].已创建数量 = 集_窗口状态 [1].已创建数量 - 1

        ' 如果有多个窗口的时候,第一个窗口是第一个被关闭的,当所有窗口都关闭的时候程序会崩溃,做个判断,有多个窗口的时候,是不是第一个窗口首先被关闭的
        .如果真 (n = 1 且 集_窗口状态 [1].已创建数量 ≥ 1)
            调试输出 (“有多个窗口的时候第一个窗口被关闭了”)
            集_窗口状态 [1].第一个窗口是否被关闭 = 真
        .如果真结束

        跳出循环 ()
    .如果真结束

.计次循环尾 ()
' 本源码来自三叶资源网(www.sanye.cx)
' 当所有窗口都被关闭的时候进行判断
.如果真 (集_窗口状态 [1].已创建数量 = 0)
    ' 判断第一个窗口是否最先被关闭,上面已经进行判断,并标记了
    .判断开始 (集_窗口状态 [1].第一个窗口是否被关闭 = 真)
        调试输出 (“当前窗口数量为0,但是由于第一个窗口首先被关闭了,不做重定义窗口数组,否则出错”)
    .默认
        调试输出 (“由于第一个窗口是最后一个关闭的,可以将窗口重定义,释放资源,但是最少保留一个窗口,不然出错”)
        重定义数组 (窗口1, 真, 1)
        重定义数组 (集_窗口状态, 真, 1)
    .判断结束

.如果真结束

调试输出 (“剩余窗口数量” + 到文本 (集_窗口状态 [1].已创建数量), “实际已创建数量” + 到文本 (取数组成员数 (窗口1)), “第一个窗口是否被关闭=” + 到文本 (集_窗口状态 [1].第一个窗口是否被关闭))
返回 (1)

易语言无限打开窗口

文件下载

来源:三叶资源网,欢迎分享,公众号:iisanye,(三叶资源网⑤群:21414575

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

  • 通信测试

    通信测试  评论于 [2020-03-15 18:58:57]  回复

    易语言屏蔽起始页自动创建窗口

  • 易语言

    易语言  评论于 [2020-03-17 13:07:54]  回复

    易语言新建窗口

  • 易语言

    易语言  评论于 [2020-04-25 12:45:08]  回复

    易语言代码创建窗口

  • 易语言

    易语言  评论于 [2020-05-28 17:22:46]  回复

    易语言 创建窗口

欢迎 发表评论:

百度站内搜索
关注微信公众号
三叶资源网⑤群:三叶资源网⑤群

网站分类
随机tag
图像处理模块FTP局域网起名软件四级联动Discuz荒野行动屏幕录象整人小工具蚁群算法彗星比特币APP授权RAR注释HPSocketdom微信刷步Client微信图片数据解密edb例子源码PugiXml
最新评论