跳到主要内容

快速开始

基本顺序

  1. 置IPC频道回调(...)
  2. 注册IPC通道(...)
  3. 订阅事件(...) 补特殊事件
  4. 初始化(...)
  5. 运行消息循环()

最小示例


<火山程序 类型 = "通常" 版本 = 1 />

包 火山.样例

类 启动类 <公开 基础类 = 程序类>
{
变量 Jade <类型 = JadeView>
变量 Jade托盘 <类型 = JadeView_托盘>

方法 启动方法 <公开 类型 = 整数>
{
如果 (Jade.初始化 (真, "", "", "JadeView示例", "jadeview.demo.app", 真) == 假)
{
返回 (0)
}

Jade.运行消息循环 ()
返回 (1)
}

方法 JadeView_应用就绪 <接收事件 类型 = 整数 注释 = "初始化阶段事件。成功时数据通常为 success;失败时为错误文本或 JSON。返回值忽略。">
参数 来源对象 <类型 = JadeView 注释 = "提供事件产生的具体来源对象">
参数 标记值 <类型 = 整数 注释 = "用户调用\"挂接事件\"命令时所提供的\"标记值\"参数值,非此方式挂接事件则本参数值固定为0.">
参数 窗口ID <类型 = 整数>
参数 数据 <类型 = 文本型>
{
如果 (来源对象 == Jade)
{
变量 窗口选项 <类型 = JadeView_窗口选项>
变量 视图选项 <类型 = JadeView_视图选项>
窗口选项.标题 = "JadeView 示例"
窗口选项.左边 = -1
窗口选项.顶边 = -1
窗口选项.宽度 = 900
窗口选项.高度 = 760
窗口选项.可调整大小 = 真
窗口选项.使用页面图标 = 真
窗口选项.允许最小化 = 真
窗口选项.允许最大化 = 真
窗口选项.透明窗口 = 真
窗口选项.边框风格 = 边框风格.无标题栏
窗口选项.主题 = 主题颜色.跟随系统
窗口选项.背景颜色 = "#ffffff"
窗口选项.内容保护 = 假
视图选项.允许全屏 = 真
视图选项.后台节流 = 真
视图选项.自动播放 = 真

变量 本地资源地址 <类型 = 文本型>
本地资源地址 = Jade.置协议服务目录 (取运行目录 () + "web\\")

调试输出 (取源方法名 (), 本地资源地址)

变量 主窗口ID <类型 = 整数>
主窗口ID = Jade.创建窗口 (本地资源地址, 0, 窗口选项, 视图选项)
如果真 (主窗口ID > 0)
{
Jade.置窗口主题 (主窗口ID, "System")
Jade.置窗口材质 (主窗口ID, "mica")
}


// 系统托盘与菜单示例
如果 (Jade托盘.创建 ())
{
Jade托盘.添加菜单项 (托盘菜单项类型.普通项, "a", "测试A", , , 真)
Jade托盘.添加菜单项 (托盘菜单项类型.普通项, "b", "测试B", , 真, )
Jade托盘.添加菜单项 (托盘菜单项类型.普通项, "c", "测试C", , , )
Jade托盘.置图标 (取运行目录 () + "jadeview.ico")
Jade托盘.置提示 ("JadeView 示例")

// 系统通知示例
变量 通知参数 <类型 = JadeView_通知参数>
通知参数.标题 = "测试标题"
通知参数.正文 = "测试内容"
Jade.显示通知 (通知参数)
}


}
返回 (0)
}

}

手动订阅特殊事件

Jade.订阅事件 (订阅_视图事件.请求新窗口)

IPC 回调写法

Jade.置IPC频道回调 (本对象, "ipcChannelMessageCallback")
Jade.注册IPC通道 ("windowAction")
Jade.注册IPC通道 ("setTheme")
方法 IPC频道消息 <公开 类型 = 文本型 @强制输出 = 真 @输出名 = "ipcChannelMessageCallback">
参数 通道名 <类型 = 文本型>
参数 窗口ID <类型 = 整数>
参数 数据 <类型 = 文本型>
{
如果 (通道名 == "windowAction")
{
如果 (数据 == "minimize")
{
Jade.最小化窗口 (窗口ID)
}
否则 (数据 == "maximize")
{
Jade.切换最大化 (窗口ID)
}
否则 (数据 == "close")
{
Jade.关闭窗口 (窗口ID)
}
否则
{
局_构造对象.置入逻辑值 ("success", 假)
局_构造对象.置入文本值 ("error", "未知命令")
返回 (局_构造对象.到可读文本 (, ))
}
局_构造对象.置入逻辑值 ("success", 真)
返回 (局_构造对象.到可读文本 (, ))

}

如果 (通道名 == "setTheme")
{

如果 (Jade.置窗口主题 (窗口ID, 数据))
{
局_构造对象.置入逻辑值 ("success", 真)
}
否则
{
局_构造对象.置入逻辑值 ("success", 假)
}

返回 (局_构造对象.到可读文本 (, ))
}


返回 ("")
}

异步对话框回调写法

方法 打开文件完成 <公开 类型 = 整数>
参数 结果JSON <类型 = 文本型>
{
调试输出 (结果JSON)
返回 (0)
}
Jade.显示打开文件对话框_异步 (0, "打开文件", "", "", "", "", this, 打开文件完成)