仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 988|回复: 8
打印 上一主题 下一主题

[学习教程] ASP.NET编程:IFontDisp和CFontHolder的利用成绩

[复制链接]
飘飘悠悠 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:36:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
不可能天天有学习.net),我一同学说,你应该早就有作品啦。我惶惶然……成绩比来处置一个控件Bug,发明COM组件字体读取风趣成绩。
Bug形貌:
简体中文下的使用编写:
ocx.Font.Name="宋体"对控件的字体初始化
text1.text=ocx.CellFont(1,1,KDS_FontProp_Name)读取单位格1,1的字体
控件申明:当响应单位格未设置字体时,将利用控件的字体设置。
成绩:
在繁体中文下运转,text1失掉字体名为乱码。
剖析:
先简化成绩:
实验:在简体操纵体系下
ocx.Font.Name=“abcd”
MsgboxKDS12.CellFont(1,1,KDS_FontProp_Name)
失掉输入:abcd。
呵呵,这明显不合错误。
MsgBoxKDS12.Font.Name
输入:Arial
嗯,这才是对的,哪有甚么abcd字体啊。
好了,成绩找到了,"宋体"两个字到繁体中文下,固然会酿成乱码啦。

因而,开端断定是CellFont接口的成绩。
检察代码:
取字体的办法以下:
CFontHolder&rFontHolder=pControl->InternalGetFont();
HFONThFont=rFontHolder.GetFontHandle();
LOGFONTlf;
CFont*pFont=CFont::FromHandle(hFont);
pFont->GetLogFont(&lf);
OK,分明了,是经由过程LOGFONT取字体信息。
再试一下,不论你输出甚么字体名,它掏出来就是啥。嘿。
实验换种体例取字体信息:
(代码不完整,未处置堕落情形,只是举例)
IFont*pIFont=NULL;
rFontHolder.GetFontDispatch()->QueryInterface(&pIFont)))
然后,用IFont的接口失信息,如:get_Name(&bstrTemp)
尝尝,这下掏出是准确使用的字体,当设置毛病时,会掏出默许值。
毛病扫除。
仿佛的结论:
接纳IFontDisp接口体例设置的字体信息,
当接纳pControl->InternalGetFont()取回CFontHolder后,假如经由过程GetFontHandle掏出Windows句柄,然后猎取字体信息,其实不必定是实在的使用值(即例子中,一旦堕落,其实不掏出体系默许值,而是毛病的设置值,个中保留的仿佛是一个一时值,而非实践的终极使用值)
假如接纳GetFontDispatch掏出IFontDisp,然后再掏出IFont来取值,才是准确地。
Why?天知道。
效率会有不少的变化。而实际上java是基于堆栈机器来设计,这和我们常见的基于寄存器的本地机器是差异比较大的。总体来说,这是一种虚拟机的设计思路。
第二个灵魂 该用户已被删除
沙发
发表于 2015-1-19 18:23:07 | 只看该作者
能产生和执行动态、交互式、高效率的站占服务器的应用程序。运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写。
山那边是海 该用户已被删除
板凳
发表于 2015-1-25 22:20:31 | 只看该作者
主流网站开发语言之ASP:ASP是微软(Microsoft)所开发的一种后台脚本语言,它的语法和VisualBASIC类似,可以像SSI(ServerSideInclude)那样把后台脚本代码内嵌到HTML页面中。虽然ASP简单易用,但是它自身存在着许多缺陷,最重要的就是安全性问题。
只想知道 该用户已被删除
地板
发表于 2015-2-4 08:41:45 | 只看该作者
Asp.net脚本的出现,为ASP空间带来了更高的稳定性,同时也为程序员建站提供更高环境!
冷月葬花魂 该用户已被删除
5#
发表于 2015-2-9 20:20:22 | 只看该作者
同时也感谢博客园给我们这个平台,也感谢博客园的编辑们做成专题引来这么多高人指点。
因胸联盟 该用户已被删除
6#
发表于 2015-2-27 20:58:29 | 只看该作者
是指转换后的Servlet程序代码的行数。这给调试代码带来一定困难。所以,在排除错误时,可以采取分段排除的方法(在可能出错的代码前后输出一些字符串,用字符串是否被输出来确定代码段从哪里开始出错)。
不帅 该用户已被删除
7#
发表于 2015-3-9 14:03:48 | 只看该作者
逐步缩小出错代码段的范围,最终确定错误代码的位置。
兰色精灵 该用户已被删除
8#
发表于 2015-3-16 23:23:52 | 只看该作者
但是目前在CGI中使用的最为广泛的是Perl语言。所以,狭义上所指的CGI程序一般都是指Perl程序,一般CGI程序的后缀都是.pl或者.cgi。
小魔女 该用户已被删除
9#
发表于 2015-3-23 06:38:18 | 只看该作者
当然我们在选择Asp.net主机是,除了要考虑服务提供商在版本是否是实时更新以外,机房的环境和配置也是非常重要的,通常选择骨干网的机房,在速度和稳定性上会非常有保证。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 16:22

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表