未发布 微信里的 Office 365 —— Office 365 微助理打造移动办公新体验 在2017微软技术暨生态大会(Microsoft Tech Summit)上, 微软宣布Office 365微助理正式商用。Office 365微助理将微软Office 365的生产力服务扩展到微信平台,能够在人们熟悉的微信操作界面中,为企业及用户带来 Office 365 的安全性、管理性和更多深层功能。这项由微软中国自主研发的全新功能能够为习惯利用微信进行日常沟通和工作的中国用户,提供一个功能强大、智能化,且简单易用的移动办公和通信解决方案。此外,Office 365 微助理还允许第三方合作伙伴开发出更多基于 Office 365 平台的商业解决方案。
Office 365商用客户将可以通过产品官方页面部署中文版的Office 365微助理服务。
Office 365 微助理
作为中国影响最广的移动社交软件,微信拥有超过 9 亿活跃用户,且大部分用户每天都在频繁使用微信。人们不但将微信用于私人交流,同时也经常将其用于日常的工作沟通和相互协作。但把私人微信用于工作,常常会让人手忙脚乱,因为用户要经常在微信、电子邮件、语音通话及更多其它应用之间来回切换;与此同时,企业 IT 部门则要为如何确保这些基于聊天的交流和数据的安全、可追踪、可管理而大伤脑筋。
Office 365 微助理将企业级的安全性、管理性,以及统一的通信及协作工具与微信的操作体验融会贯通。通过将
Office 365 服务植入微信,用户和企业既能继续使用他们最熟悉的通信工具,同时又能得到由 Office 365 提供的更高水平的生产力、团队协作能力,以及安全性的保障。
实现高效沟通及信息管理
Office 365 微助理的智能通知(intelligent notifications)功能可以帮助用户更高效地管理信息,并在微信中更轻松地找到联系人和文档。用户不但能及时收到邮件和会议提醒,还能在组织内快速查找联系人、文件和邮件信息。Office 365 微助理能确保信息发布的安全性,员工也可以通过公司内网查看企业内部的政策规定或及时获取 IT 部门的支持。Office 365 微助理还能提供对最近打开的文档或常用联系人的快速访问,智能识别图片信息,并能生成可以编辑的 PowerPoint 文档。
通过“个人助理”接收工作提醒
通过“同事圈”了解同事动态
促进高效的团队协作
Office 365 微助理不但能帮助用户快速与同事取得联系,还提供了安全的文档共享服务、基于人工智能的智能会议调度及任务协调功能,可以显著提升团队协作的效率。用户可以通过多种方式与他人沟通,包括使用企业通讯簿快速查找特定联系人,通过身份同步(ID sync)自动将 Office 365 联系人同步到企业通讯簿中。此外,用户还能够借助 OneDrive 安全地共享文件。所有讨论交流都可以自动存档,便于以后参考使用。
通过“团队协作”查看最近联系人
确保企业级的信息安全和管理性
利用 Office 365 微助理,企业可以对数据访问权限进行更好的管理,对数据进行更周全的保护,在确保合规的同时,提供简单易用的管理性。微信将得到企业级的数据保护,静态数据和传输中的动态数据都能全程得到增强的数据保护。收到文档的用户需要具有相应的权限才能对文档进行访问和共享,对于保密文档,用户浏览文件时就会自动添加水印,同时禁止文档转发。
Office 365 微助理能确保员工进入与其身份、职责相符的聊天群组或对话中,从而有效防止信息泄露。同时,每名员工的Office 365 账户信息与其企业微信身份始终保持同步,因此 IT 管理员能够轻松地对用户身份进行统一管理。Office 365 平台与微信的集成,不但能为企业提供企业级的数据保护,同时还能确保移动设备上的数据安全。
IT 管理员能够轻松地对用户身份进行统一管理
即刻体验 Office 365 微助理
从今天开始,Office 365 商用客户将可以通过产品官方页面即刻部署和使用 Office 365 微助理服务。
未发布 jQuery JavaScript的综合性UI组件库jQWidgets更新至v4.5.1丨附下载 jQWidgets是一个基于jQuery JavaScript的综合性和创新性的HTML5 UI组件库,旨在帮助开发者创建专业、跨平台的Web应用程序,并最大限度的节省开发时间。jQWidgets包含30多种UI组件,是最快的JavaScript UI框架之一。
【最新版jQWidgets v4.5.1点击下载>>>】
jQWidgets v4.5.1更新内容:
改进:
修复:
修复了当decimalSeparator为“,”时,jqxNumberInput中关于移动设备行为的问题。
修复了jqxScheduler中关于exactTimeRendering功能的问题,2天中会出现同一个预约。
修复了jqxScheduler中当没有聚焦单元格时对话框会打开的问题。
修复了关于jqxPopover中showArrowButton属性被动态设置的问题。
修复了jqxGrid中关于“复选框”列中工具提示的问题。
修复了jqxGrid中关于剪贴板粘贴功能的问题。
修复了jqxGrid中当网格行详细信息和聚合功能分组启用时切换箭头显示的问题。
修复了jqxGrid中关于分组聚合渲染逻辑的的问题。
修复了jqxGrid中关于过滤器行下拉列表和“全选”项的问题。
修复了jqxGrid中当按下“ESC”并且在源对象中定义了“updaterow”时关于全行编辑的问题。
修复了jqxDataTable中关于服务器端过滤的的问题。
修复了jqxWindow中关于动态启用/禁用窗口拖动的问题。
修复了jqxWindow中关于关闭模式窗口后Tab键导航的问题。
修复了jqxTabs中当关闭按钮被启用时有关setTitleAt方法的问题。
修复了jqxRibbon中关于animationType:“slide”的问题。
修复了jqxWindow中关于Internet Explorer“销毁”方法的问题。
阅读原文>>>
未发布 企业级界面开发工具包Essential Studio Enterprise Edition发布2017 v4丨附下载 Essential Studio企业版是一个企业级界面开发工具包,包含800多个.NET和JavaScript平台的组件和框架。使用Essential Studio企业版,开发者可以创建丰富的应用程序,并轻松地集成商业智能分析和报告解决方案。Essential Studio企业版是世界级的软件组件,它使得开发者能在最苛刻的环境下开发出高质量的软件。
Essential Studio 2017 v4最新版下载>>>
Essential Studio 2017 v4更新内容
JavaScript

充分利用JavaScript
• Essential JS 2是下一代的JavaScript组件套件
• 支持Ember框架
• 新的组合框架
Xamarin.Forms

构建跨平台的应用程序
• 新的图表控件
• 数据网格的多列分组
• 图像编辑器的缩放和平移功能
Xamarin.iOS

用C#创建优秀的iOS应用程序
• 新的图表控件
• 图像编辑器的缩放和平移功能
Xamarin.Android

用C#开发Android应用程序
• 新的图表控件
• 图像编辑器的缩放和平移功能
ASP.NET Core

发布卓越的Web应用程序
• 新的日期范围选择器
• 新的组合框
• 新的pivot客户端控件
ASP.NET MVC

创建Web应用程序
• 新的组合框
• 服务器下拉列表
• 树形网格控件的堆叠标题
ASP.NET Web Forms

开发大师级网站
• 新的组合框
• 服务器下拉列表
• 树形网格控件的堆叠标题
UWP

开发跨Windows生态系统
• 新的图像编辑器
• 史密斯图
• 支持富文本框从右到左
WPF

桌面控制
• 史密斯图
• 数据网格的行拖放
• 支持富文本框从右到左
Windows Forms

创建更好的APP
• 电子表格的数组公式计算
• 日期时间选择器的Office 2016主题
• ribbon控件的快速访问工具栏图标功能

未发布 Google开源了Abseil,为C++和Python开发提供支持 Google公开了其项目内部使用的一系列C++库,随后还会公开其Python库。
Abseil已在Google历经十多年的开发,它的目的是为Google编程人员在各种项目上的工作需求提供支持,这些项目包括Protocol Buffers、gRPC和TensorFlow等。Google评价Abseil为:
- 它是从Google内部代码块中抽取出来的一系列最基础的软件库。作为基本的组成部分,这些软件库支撑了几乎全部Google在运行的项目。以前这些API是零零散散地嵌入在Google的大部分开源项目中,现在我们将它们规整在一起,形成这样一个全面的项目。
- Abseil是Google代码库的最基本构建模块,其代码经过了生产环节测试,此后还会继续得到完全的维护。
最初,Abseil提供的抽象并非C++ 14或C++ 17的组成部分,但最终它们已被添加到C++标准中。例如,Google提供一个称为StringPiece的类型,随后C++ 17也添加了一个称为std::string_view的相近类型。为了与新的C++ 17类型具有一致的API,Google将StringPiece重构为absl::string_view。从底层机制上看,如果开发人员正在使用的是C++ 17,那么Abseil的string_view默认为标准实现;如果开发人员正在使用的是C++ 17以前的版本,那么string_view默认为Google的实现。
使用Abseil的优点在于可以访问一些目前依然尚未添加到标准中的C++特性,并且一旦这些特性被添加到C++标准中,Google保证会重构这些特性为默认使用标准实现。Google鼓励开发人员使用Abseil,并提及已有超过两亿五千万行的C++代码使用它,并且几乎所有从头开始构建的项目都使用了它。这意味着,Abseil已被Google广为使用,并出于与项目需求同步的考虑而得以频繁维护。
Abseil中包括如下的库:
- base:初始化,以及其它的基础代码。
- algorithm:对C++的库的补充,并为原算法提供了基于容器的版本。
- container:提供了更多的STL类型容器。
- debugging:用于检查泄漏的调试库。
- memory:包括兼容C++ 11版本的std::make_unique()和内存管理。
- meta:包括兼容C++ 11版本的类型检查,在C++ 14和C++ 17版本的C++ 库中可用。
- numeric:兼容C++ 11的128位整数。
- strings:各种字符串工具。
- synchronization:并发原语和同步抽象。
- time:抽象了绝对时间点操作和时区操作。
- types:非容器工具的类型。
未发布 电子邮件.NET控件MailBee.NET Objects v11.0发布丨附下载 几行代码便可为应用程序添加E-Mail支持,简单高效。MailBee.NET Objects 是一款为创建、发送、接收以及处理电子邮件而设计的健壮、功能丰富的.NET控件。具备“必需”以及独特的功能,这些控件帮助开发人员简单快速地将复杂的电子邮件功能添加到他们的应用程序中。
MailBee.NET Objects 更新至v11.0,增加新的Ews组件、新的密钥格式并与Visual Studio 2017进行测试。
MailBee.NET Objects v11.0点击下载>>>
更新内容:
新的Ews组件,通过其本地EWS协议访问MS Exchange服务器。
.NET Framework 3.5和4.0版本以及2.0和4.5版本现在包含在安装程序和NuGet包中。
所有.NET版本的MailBee.NET.dll现在具有相同的名称。
所有MailBee.NET DLL都添加了sha256签名(除了sha1)。
IDN域(具有国际域的电子邮件地址)支持发送和解析。
使用MailMessage.GetHtmlWithBase64EncodedRelatedFiles方法来保存HTML主体,相关图像直接嵌入到HTML中,这样就不需要在本地保存它们并在以后删除它们。
STARTTLS安全连接现在支持直接发送模式。要激活,请使用mailer.DirectSendDefaults.EnableStartTls = true,其中mailer是Smtp实例。
SecurityProtocol现在包括TlsAuto值,你可以使用该值来限制MailBee使用最佳支持的TLS协议(最高为TLS 1.2)。例如, imapClient.SslProtocol = SecurityProtocol.TlsAuto其中imapClient是Imap实例。
Imap.GetSpecialFolder方法,轻松找到文件夹例如已发送信息或草稿。
Imap,Smtp,Pop3类的GetStream方法现在允许你访问底层网络流。
支持Outlook 2016.MSG格式。
支持.PST文件中的通讯组列表。
添加MailMessage.Sender属性。
新的Logger.DateTimeFormatTimeOnly和Logger.DateTimeFormatFull属性在日志文件中配置了日期时间格式。
Bounce数据库已更新。
与Visual Studio 2017进行测试。
许可证密钥采用新的MN110格式。如果你有有效的维护合同,请与我们联系以接收你的新密钥。如果你的合同已经过期,请先更新。
未发布 GIS软件开发工具包TatukGIS Developer Kernel v11.6发布丨附下载 GIS定制开发首选控件,帮您轻松搞定高效、优质、实惠的GIS解决方案
TatukGIS Developer Kernel(DK)是一个用于开发自定义地理信息系统(GIS)应用程序以及解决方案的综合性软件开发工具包(SDK)。众所周知,构建一个庞大的地理信息系统需要花费大量的金钱和人力,而TatukGIS却是同类产品中性价比最高的控件,TatukGIS Developer Kernel DK因其功能强大,价格适中,已被超过 50个国家的个人、公司、以及政府等客户用来实现其地理信息系统解决方案。根据不同地首选开发环境,本产品分别以五个独立产品的形式提供(即VCL、.NET/WPF、ActiveX、Compact Framework和ASP.NET),各个产品使用相同的框架、应用程序编程接口(API)技术。
TatukGIS Developer Kernel v11.6更新内容
此版本为移动平台和FMX带来了很多改进和GUI修复以及一些新功能。
等时线分析。[DK-9208]
添加Concave Hull。[DK-9217]
Convex Hull速度提升。[DK-9324]
DK.FMX对话框以匹配VCL和Winforms。[DK-9075]。
引入属性TGIS_ViewerWndHelper.DelayedUpdate延迟更新的细粒度控制。[DK-9301]
图例未打印。[DK-9360]
问题是特定于DirectX渲染。临时解决方法是将渲染器设置为GDI32(仅限VCL)或GDI +(VCL和WinForms)。请参阅使用除默认值之外的渲染器。
改进了Legend属性表单及其子表单在速度,外观和稳定性方面。
一些程序名称更改,如TGIS_ContourGenerator.Import→Generate[DK-6369]
PrintClipboard现在支持DK.FMX。[DK-9418]
提供独立SVG符号库编译器。
其他问题修复。
未发布 HTML5文档查看器PrizmDoc发布v13.0,新增文档比较功能 PrizmDoc新版本增加了多个功能,可提高文档管理流程的效率,促进更高的生产力。
PrizmDoc v13.0中最重要的新功能是文档比较。允许用户比较与Microsoft Word文档的原始版本之间所做的更改。用户选择原始文件以及更新版本,并将原始文件的所有更改(添加、删除等)显示在新的文档中,并以超链接进行快速访问。该功能对于合同条款和附录、组织图、企业标准和程序等文件特别有用。该增强功能与Microsoft Word本身的“跟踪更改”功能类似,旨在满足众多终端用户的要求。
PrizmDoc v13.0还在图像查看技术方面取得了显着进步。新的伽玛调整、图像锐化和线条加粗工具可以增强矢量、像素图像的查看,从而允许用户生成比以往任何时候更精致的效果图。图像增强工具对于医疗、工程和建筑行业特别有用,X射线、蓝图和CAD绘图之类的图像在线观看比以往更容易。
PrizmDoc v13.0新功能
文档比较
PrizmDoc新增了Microsoft Word文档比较功能。文档比较是与先前版本交叉检查文档新版本的过程,您可以看到其更改的内容。这些更改可能包括格式修改如字体或间距更改、语法更改、添加或删除单词、句子、段落。有关如何使用新的文档比较功能的更多信息,请查看以下内容:
图像工具
PrizmDoc v13.0增加了一个名为Image Tools的新选项。您可以在查看器中操作文档保真度。有关更多信息,请参阅最终用户指南。
支持Ubuntu 16.04 LTS
PrizmDoc现在支持Ubuntu 16.04 LTS。
支持Windows Server 2016
PrizmDoc现在支持Windows Server 2016。
本地SVG图标
Viewer已升级为支持本地SVG图标。您可以将默认图标替换成自己的版本。
在线帮助
部署许可部分已更新,可以更好的帮助您了解所有许可选项。
最终用户指南部分已更新:
文档比较 - 如何使用新的比较查看器
图像工具 - 如何使用新的图像工具功能查看文档
PrizmDoc服务器
解决了错误的页面计数和呈现MS Word文档的内容问题(使用MSO渲染引擎时启用了跟踪更改)。
解决了使用LibreOffice渲染引擎时AAA/AAAA Excel日期/时间格式的不正确渲染。

未发布 MailBee.NET Objects接收电子邮件(POP3)教程一:接收简单的电子邮件 MailBee.NET Objects是一款为创建、发送、接收以及处理电子邮件而设计的健壮、功能丰富的.NET控件。几行代码便可为应用程序添加E-Mail支持,简单高效。具备“必需”以及独特的功能,这些控件帮助开发人员简单快速地将复杂的电子邮件功能添加到他们的应用程序中。
本文主要介绍了接收电子邮件(POP3)的代码示例。目前MailBee.NET Objects在线订购享75折优惠正在进行中,欢迎您下载试用版进行运用!
要接收简单的电子邮件,开发人员应使用POP3对象。创建此对象的新实例,如下所示:
C#: Pop3 pop = new Pop3(); |
VB.NET: Dim pop As Pop3 = New Pop3() |
基本属性和方法
要接收电子邮件,MailBee.NET Obiects与POP3服务器通信。要连接到POP3服务器,开发人员只需指定此POP3服务器的主机名(或相同的IP地址),如下所示:
C#: pop.Connect("mail.domain.com"); |
VB.NET: pop.Connect("mail.domain.com") |
或者
C#: pop.Connect("127.0.0.1"); |
VB.NET: pop.Connect("127.0.0.1") |
由于所有POP3服务器都需要身份验证,开发人员应指定登录邮箱的登录名和密码,如下所示:
C#: pop.Login("login", "password"); |
VB.NET: pop.Login("login", "password") |
当开发人员成功登录邮箱时,可以通过调用POP3对象的DownloadEntireMessage方法轻松下载此邮箱包含的任何邮件。调用此方法时,开发人员应指定邮件的索引。例如,以下代码行表示从收件箱下载最后一封邮件:
C#: MailMessage msg = pop.DownloadEntireMessage(pop.InboxMessageCount); |
VB.NET: Dim msg As MailMessage = pop.DownloadEntireMessage(pop.InboxMessageCount) |
其中:
- pop.InboxMessageCount是一个属性,包含邮箱中存储的邮件总数;
- msg是一个MailMessage对象,表示单个电子邮件。
注意!如果邮箱中没有邮件,则pop.InboxMessageCount属性为0并调用pop.DownloadEntireMessage(pop.InboxMessageCount)方法将出现错误。
如果要从邮箱下载中下载新邮件,开发者必须定义特殊的帮助函数。该功能应该查找已经下载邮件的现有数据库中邮件的UID。如果没有找到指定的UID,则将该邮件视为新邮件。因此,开发人员必须使用数据库引擎来存储所有接收到的邮件UID。
最后,当邮箱完成所有必要的操作,并且与POP3服务器的连接无效时,开发人员应该调用POP3对象的Disconnect方法以断开与POP3服务器的连接,如下所示:
示例代码:
以下示例从指定的邮箱中下载最新的邮件,并显示此邮件的正文。
在使用MailBee.NET Objects之前,请确保它已解锁。
C#: using System; using MailBee; using MailBee.Pop3Mail; using MailBee.Mime; namespace EmailApp { class Class1 { [STAThread] static bool IsNewMessage(string UID) { return true; } static void Main(string[] args) { Pop3 pop = new Pop3(); try { pop.Connect("mail.domain.com"); pop.Login("login", "password"); Console.WriteLine("Successfully logged in."); } catch(MailBeePop3LoginNegativeResponseException) { Console.WriteLine("POP3 server replied with a negative response at login."); } string[] arrIDs = pop.GetMessageUids(); int n = pop.InboxMessageCount; if (IsNewMessage(arrIDs[n])) { MailMessage msg = pop.DownloadEntireMessage(n); if (msg.BodyHtmlText != "") Console.WriteLine(msg.BodyHtmlText); else if (msg.BodyPlainText != "") Console.WriteLine(msg.BodyPlainText); else Console.WriteLine("The body of this message is empty."); } try { pop.Disconnect(); Console.WriteLine("Disconnected successfully."); } catch { Console.WriteLine("Disconnection failed."); } } } } |
VB.NET: Imports System Imports MailBee Imports MailBee.Pop3Mail Imports MailBee.Mime Namespace EmailApp Class Class1 _ Shared Function IsNewMessage(ByVal UID As String) As Boolean Return True End Function Shared Sub Main(ByVal args() As String) Dim pop As Pop3 = New Pop3() Try pop.Connect("mail.domain.com") pop.Login("login", "password") Console.WriteLine("Successfully logged in.") Catch Console.WriteLine("POP3 server replied with a negative response at login.") End Try Dim arrIDs() As String = pop.GetMessageUids() Dim n As Integer = pop.InboxMessageCount If IsNewMessage(arrIDs(n)) Then Dim msg As MailMessage = pop.DownloadEntireMessage(n) If msg.BodyHtmlText <> "" Then Console.WriteLine(msg.BodyHtmlText) Else If msg.BodyPlainText <> "" Then Console.WriteLine(msg.BodyPlainText) Else Console.WriteLine("The body of this message is empty.") End If End If End If Try pop.Disconnect() Console.WriteLine("Disconnected successfully.") Catch Console.WriteLine("Disconnection failed.") End Try End Sub End Class End Namespace |
以上就是本次教程的全部内容,接下来会有更多相关教程,敬请关注!您也可以在评论者留下你的经验和建议。
未发布 扫描识别工具Dynamic Web TWAIN使用教程:属性/方法/事件介绍 Dynamic Web TWAIN是一个专为Web应用程序设计的TWAIN扫描识别控件。你只需在TWAIN接口写几行代码,就可以用兼容TWAIN的扫描仪扫描文档或从数码相机/采集卡中获取图像。
本文为你介绍Dynamic Web TWAIN中属性/方法/事件的具体操作代码,欢迎收藏。
当正确实施后,Dynamic Web TWAIN将在页面加载后自动初始化。一旦初始化,你就可以像堆任何正常的JS对象一样控制它。您可以参考我们的在线API文档来查看Dynamic Web TWAIN的所有内置属性、方法和事件。
这里有三种使用Dynamic Web TWAIN的方法:
属性
属性用于在运行时从Dynamic Web TWAIN中获取或设置特定的值,例如Resolution、Duplex、IfShowUI等。
1 2 3 | /* Property */
/* Scan pages in 200 DPI */
DWObject.Resolution = 200;
|
方法
方法用于调用Dynamic Web TWAIN对象的内置函数,如AcquireImage、SaveAsJPEG、Rotate等。语法非常简单:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | // Method
///
<summary> /// Rotates the image of a specified index in buffer by a specified angle.
/// </summary>
///
<param name="sImageIndex" type="short" data-filtered="filtered">
specifies the index of image in buffer. The index is 0-based.
///
<param name="fAngle" type="float" data-filtered="filtered">
specifies the angle.
///
<param name="bKeepSize" type="bool" data-filtered="filtered">
specifies whether to keep the original size
///
<returns type="bool" data-filtered="filtered"></returns>
DWObject.Rotate(0, 45, false); // rotate the 1st image in the buffer by 45 degrees
|
事件
当达到某个触发点时触发事件。例如,OnMouseClick鼠标点击事件等。与属性和方法相比,事件是有点难度的。在这里我们再多谈一下。
处理事件
添加一个事件监听器
要添加事件监听器,可以使用内置方法RegisterEvent。请参考下面的示例代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 | <script type="text/javascript" data-filtered="filtered">
Dynamsoft.WebTwainEnv.RegisterEvent('OnWebTwainReady', Dynamsoft_OnReady);
var DWObject;
/* OnWebTwainReady event fires as soon as Dynamic Web TWAIN is initialized and ready to be used. It is the best place to add event listeners */
function Dynamsoft_OnReady() {
DWObject = Dynamsoft.WebTwainEnv.GetWebTwain('dwtcontrolContainer');
DWObject.RegisterEvent("OnPostTransfer", Dynamsoft_OnPostTransfer);
}
function Dynamsoft_OnPostTransfer() {
/* This event OnPostTransfer will be triggered after a transfer ends. */
/* your code goes here*/
}
</script>
|
在上面的代码中,我们添加了JavaScript函数Dynamsoft_OnPostTransfer()作为事件OnPostTransfer的事件监听器。另外,你可以写这样的代码:
1 2 3 4 5 6 7 8 9 10 | <script type="text/javascript" data-filtered="filtered">
Dynamsoft.WebTwainEnv.RegisterEvent('OnWebTwainReady', Dynamsoft_OnReady);
var DWObject;
function Dynamsoft_OnReady() {
DWObject = Dynamsoft.WebTwainEnv.GetWebTwain('dwtcontrolContainer');
DWObject.RegisterEvent("OnPostTransfer", function() {
/* your code goes here*/
});
}
</script>
|
有参数的事件
一些事件具有参数。以OnMouseClick事件为例:
1 2 | /* sImageIndex is the index of the image you clicked on*/
OnMouseClick(short sImageIndex)
|
当您创建相应的JavaScript函数(AKA,事件侦听器)时,可以包含参数并在运行时进行检索。
1 2 3 | function DynamicWebTwain_OnMouseClick(index) {
CurrentImage.value = index + 1;
}
|
或者
1 2 3 | DWObject.RegisterEvent("OnPostTransfer", function(index) {
CurrentImage.value = index + 1;
});
|
特殊事件 -“OnWebTwainReady”
在所有的内置事件中,有一个特殊事件“OnWebTwainReady”。基本上这个事件在Dynamic Web TWAIN对象被初始化并准备好使用的时候触发。正如您在本文前面看到的那样,推荐使用它的方法是:
1 2 3 4 5 6 7 | <script type="text/javascript" data-filtered="filtered">
Dynamsoft.WebTwainEnv.RegisterEvent('OnWebTwainReady', Dynamsoft_OnReady);
var DWObject;
function Dynamsoft_OnReady() {
DWObject = Dynamsoft.WebTwainEnv.GetWebTwain('dwtcontrolContainer');
}
</script>
|
或者
1 2 3 4 5 | <script type="text/javascript" data-filtered="filtered">
Dynamsoft.WebTwainEnv.RegisterEvent('OnWebTwainReady', function() {
DWObject = Dynamsoft.WebTwainEnv.GetWebTwain('dwtcontrolContainer');
});
</script>
|
本次教程到此结束,希望能对Dynamic Web TWAIN的用户带来帮助,接下来还会有更多的相关教程,敬请期待!