论文部分内容阅读
摘 要:针对蒙文的“从上到下,竖向排列”的特殊书写规则,分析当前各种应用程序中使用蒙文编辑显示的方法,将蒙文的编辑与ActiveX技术相结合,以及实现ActiveX控件的实地编辑的技术。
关键词:蒙古文;ActiveX;实地编辑
中图分类号:TP391.1
ActiveX技术是微软公司对OLE技术的扩展,是通过组件对象模型使得软件组件在网络环境中实现交互的技术集。它包括Active X服务器、ActiveX容器、ActiveX自动化服务器、ActiveX自动化控制器、ActiveX控件、ActiveX文件以及COM组件。
ActiveX控件即使一个标准的COM对象,又是一个对象的自动化对象,还是一个界面元素。通过这些具有图形图像功能、界面制作功能以及数据库处理功能的ActiveX控件,我们可以建立全面的应用系统。
蒙古文字在使用中有两个特点:一是字符从上到下,从左到右竖排显示;二是蒙古文字母高度不同、词法结构复杂。将蒙古文字使用在其他应用环境中可以有两种途径,一种是将已制作好的蒙文编辑的ActiveX控件插入到应用程序和网页编辑器中,在不同的环境中可以进行蒙文编辑,另一种是实现ActiveX控件的实地编辑。
1 蒙文编辑控件
可以制作ActiveX控件的工具很多,如微软的Visual C++,Visual J++、Borland的Delphi和C++ Builder,Power Builder是通过将Data Window作为ActiveX控件来匹配,可以使PB的开发者使用PowerScript的某些强大功能。在Visual C++中ActiveX的开发工具又分Microsoft基础类库(MFC)、ActiveX模版库(ATL)、Base Control框架(Base CTL),由于MFC提供了很多用于程序开发的有用工具,而且VC++的集成开发环境是充分考虑MFC而设计的,所以更令人瞩目。
在使用MFC开发蒙文编辑控件时要能够支持UNICODE编码,由于蒙文的名义字符在中分布在Ox1800到Ox18af之间,控件在接收到UNICODE字符后存储在一个字符数组中当控件运行或刷新时可以把数组中的内容按一定的规则显示出来。在显示时使用Onchar()函数显示,判断用户输入内容为英文字符或是汉字还是蒙文字符,若是蒙文字符则旋转90度完成竖排显示。对于字体的名称、大小、颜色、粗体等字体属性,需建立字体属性结构体,为节省存储空间还可为每个字符建立字体属性索引,该索引可以指向存放字体属性的结构,这样实现为每个字符设置字体属性。
在蒙文编辑控件的选中、撤销、复制、粘贴、剪切等操作中,关键技术是剪贴板。使用Windows API函数GlobalAlloc和GlobalLock来分配内存空间,用BOOL OpenClipboard()来打开剪贴板,用BOOL EmptyClipboard()清空剪贴板,用HANDLE SetClipboardData()设置剪贴板数据,用BOLL CloseClipboard()关闭剪贴板。
2 ActiveX控件的实地编辑
实地编辑功能即指在某种网页制作环境中插入具有字符串显示功能的ActiveX控件后,在不脱离该设计模式的前提下通过将输入的字符串送入ActiveX控件,完成显示。
以FrandPage為例,在FrandPage的设计模式下即使插入ActiveX控件也不能通过输入法向控件输入蒙文字符,若想实现这种实地编辑功能则需使用到VBR技术、自动化技术以及钩子原理。
解决办法:使用VC++生成一个MFC AppWizard应用程序。通过MFC ClassWizard的Automation向工程中分别添加FPEDITAX.DLL和FRONTPG.EXE对象库,在确认类列表中选择项目应用程序中需要的类:如PageWindow类、DispFPHTMLDocument类、_Application类和DispIHTMLObjectElement类。此时项目中自动添加了fpeditax.h和frontpg.h头文件,包含了这些类的成员函数。这样就可以在应用程序中通过这些类访问FrongPage了。
钩子处理函数的功能:在钩子处理函数中先获得其宿主应用程序的窗口句柄,如果是键盘响应结果则取得正在输入信息的窗口的输入法句柄,再调用IMM中的获取字符串函数,判断字符串的文字种类后存入临时文件,并向钩子宿主应用程序发送消息。
3 结束语
蒙古语言文字作为我国内蒙古自治区的主体民族语言和官方语言,在其他地区和国家也有着重要地位。蒙古文信息在借助网络传播时收到自身文字特点的影响与汉语言有很大的区别。在实现蒙古文网页编辑与浏览技术中,不乏有JavaScript网页编程、图片法、ActiveX控件技术、CSS等技术。而结合ActiveX控件技术尤为突出。
参考文献:
[1]朱敏,沈同圣,王学伟.VC++与VBA结合实现复杂报表[J].计算机应用与软件,2005(02).
[2]图雅,叶新铭,王燕.FrontPage的设计模式下ActiveX控件的实地编辑功能的设计与实现[J].内蒙古大学学报,2008.
[3]石京民,陈道敏.钩子及其应用[J].计算机应用,2001(04).
[4]马赛红,朱爱红,李连.基于ActiveX控件技术的B/S模式下公文处理的研究与实现[J].计算机与现代化,2011(07).
[5]图雅,叶新铭.在ASP.NET中实现蒙古文数据列表控件[J].内蒙古大学学报,2008(02).
[6]如何使用MFC和类型库创建自动化项目[EB/OL].http//support.micrsoft.com/kb/178749.
[7]申晓龙,许文雨,谭献海.Windows钩子技术的研究与应用[J].成都信息工程学院学报,2005(04).
作者简介:李艳(1979-),女,内蒙古通辽人,硕士,讲师,研究方向:数据库;图雅(1978-),女,内蒙古通辽人,硕士,副教授,研究方向:数据库。
作者单位:内蒙古民族大学计算机科学与技术学院,内蒙古通辽 028043
基金项目:内蒙古民族大学项目(项目编号:NMD1121)
关键词:蒙古文;ActiveX;实地编辑
中图分类号:TP391.1
ActiveX技术是微软公司对OLE技术的扩展,是通过组件对象模型使得软件组件在网络环境中实现交互的技术集。它包括Active X服务器、ActiveX容器、ActiveX自动化服务器、ActiveX自动化控制器、ActiveX控件、ActiveX文件以及COM组件。
ActiveX控件即使一个标准的COM对象,又是一个对象的自动化对象,还是一个界面元素。通过这些具有图形图像功能、界面制作功能以及数据库处理功能的ActiveX控件,我们可以建立全面的应用系统。
蒙古文字在使用中有两个特点:一是字符从上到下,从左到右竖排显示;二是蒙古文字母高度不同、词法结构复杂。将蒙古文字使用在其他应用环境中可以有两种途径,一种是将已制作好的蒙文编辑的ActiveX控件插入到应用程序和网页编辑器中,在不同的环境中可以进行蒙文编辑,另一种是实现ActiveX控件的实地编辑。
1 蒙文编辑控件
可以制作ActiveX控件的工具很多,如微软的Visual C++,Visual J++、Borland的Delphi和C++ Builder,Power Builder是通过将Data Window作为ActiveX控件来匹配,可以使PB的开发者使用PowerScript的某些强大功能。在Visual C++中ActiveX的开发工具又分Microsoft基础类库(MFC)、ActiveX模版库(ATL)、Base Control框架(Base CTL),由于MFC提供了很多用于程序开发的有用工具,而且VC++的集成开发环境是充分考虑MFC而设计的,所以更令人瞩目。
在使用MFC开发蒙文编辑控件时要能够支持UNICODE编码,由于蒙文的名义字符在中分布在Ox1800到Ox18af之间,控件在接收到UNICODE字符后存储在一个字符数组中当控件运行或刷新时可以把数组中的内容按一定的规则显示出来。在显示时使用Onchar()函数显示,判断用户输入内容为英文字符或是汉字还是蒙文字符,若是蒙文字符则旋转90度完成竖排显示。对于字体的名称、大小、颜色、粗体等字体属性,需建立字体属性结构体,为节省存储空间还可为每个字符建立字体属性索引,该索引可以指向存放字体属性的结构,这样实现为每个字符设置字体属性。
在蒙文编辑控件的选中、撤销、复制、粘贴、剪切等操作中,关键技术是剪贴板。使用Windows API函数GlobalAlloc和GlobalLock来分配内存空间,用BOOL OpenClipboard()来打开剪贴板,用BOOL EmptyClipboard()清空剪贴板,用HANDLE SetClipboardData()设置剪贴板数据,用BOLL CloseClipboard()关闭剪贴板。
2 ActiveX控件的实地编辑
实地编辑功能即指在某种网页制作环境中插入具有字符串显示功能的ActiveX控件后,在不脱离该设计模式的前提下通过将输入的字符串送入ActiveX控件,完成显示。
以FrandPage為例,在FrandPage的设计模式下即使插入ActiveX控件也不能通过输入法向控件输入蒙文字符,若想实现这种实地编辑功能则需使用到VBR技术、自动化技术以及钩子原理。
解决办法:使用VC++生成一个MFC AppWizard应用程序。通过MFC ClassWizard的Automation向工程中分别添加FPEDITAX.DLL和FRONTPG.EXE对象库,在确认类列表中选择项目应用程序中需要的类:如PageWindow类、DispFPHTMLDocument类、_Application类和DispIHTMLObjectElement类。此时项目中自动添加了fpeditax.h和frontpg.h头文件,包含了这些类的成员函数。这样就可以在应用程序中通过这些类访问FrongPage了。
钩子处理函数的功能:在钩子处理函数中先获得其宿主应用程序的窗口句柄,如果是键盘响应结果则取得正在输入信息的窗口的输入法句柄,再调用IMM中的获取字符串函数,判断字符串的文字种类后存入临时文件,并向钩子宿主应用程序发送消息。
3 结束语
蒙古语言文字作为我国内蒙古自治区的主体民族语言和官方语言,在其他地区和国家也有着重要地位。蒙古文信息在借助网络传播时收到自身文字特点的影响与汉语言有很大的区别。在实现蒙古文网页编辑与浏览技术中,不乏有JavaScript网页编程、图片法、ActiveX控件技术、CSS等技术。而结合ActiveX控件技术尤为突出。
参考文献:
[1]朱敏,沈同圣,王学伟.VC++与VBA结合实现复杂报表[J].计算机应用与软件,2005(02).
[2]图雅,叶新铭,王燕.FrontPage的设计模式下ActiveX控件的实地编辑功能的设计与实现[J].内蒙古大学学报,2008.
[3]石京民,陈道敏.钩子及其应用[J].计算机应用,2001(04).
[4]马赛红,朱爱红,李连.基于ActiveX控件技术的B/S模式下公文处理的研究与实现[J].计算机与现代化,2011(07).
[5]图雅,叶新铭.在ASP.NET中实现蒙古文数据列表控件[J].内蒙古大学学报,2008(02).
[6]如何使用MFC和类型库创建自动化项目[EB/OL].http//support.micrsoft.com/kb/178749.
[7]申晓龙,许文雨,谭献海.Windows钩子技术的研究与应用[J].成都信息工程学院学报,2005(04).
作者简介:李艳(1979-),女,内蒙古通辽人,硕士,讲师,研究方向:数据库;图雅(1978-),女,内蒙古通辽人,硕士,副教授,研究方向:数据库。
作者单位:内蒙古民族大学计算机科学与技术学院,内蒙古通辽 028043
基金项目:内蒙古民族大学项目(项目编号:NMD1121)