仓酷云

标题: ASP.NET编程:IFontDisp和CFontHolder的利用成绩 [打印本页]

作者: 飘飘悠悠    时间: 2015-1-16 22:36
标题: ASP.NET编程:IFontDisp和CFontHolder的利用成绩
不可能天天有学习.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
能产生和执行动态、交互式、高效率的站占服务器的应用程序。运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写。
作者: 山那边是海    时间: 2015-1-25 22:20
主流网站开发语言之ASP:ASP是微软(Microsoft)所开发的一种后台脚本语言,它的语法和VisualBASIC类似,可以像SSI(ServerSideInclude)那样把后台脚本代码内嵌到HTML页面中。虽然ASP简单易用,但是它自身存在着许多缺陷,最重要的就是安全性问题。
作者: 只想知道    时间: 2015-2-4 08:41
Asp.net脚本的出现,为ASP空间带来了更高的稳定性,同时也为程序员建站提供更高环境!
作者: 冷月葬花魂    时间: 2015-2-9 20:20
同时也感谢博客园给我们这个平台,也感谢博客园的编辑们做成专题引来这么多高人指点。
作者: 因胸联盟    时间: 2015-2-27 20:58
是指转换后的Servlet程序代码的行数。这给调试代码带来一定困难。所以,在排除错误时,可以采取分段排除的方法(在可能出错的代码前后输出一些字符串,用字符串是否被输出来确定代码段从哪里开始出错)。
作者: 不帅    时间: 2015-3-9 14:03
逐步缩小出错代码段的范围,最终确定错误代码的位置。
作者: 兰色精灵    时间: 2015-3-16 23:23
但是目前在CGI中使用的最为广泛的是Perl语言。所以,狭义上所指的CGI程序一般都是指Perl程序,一般CGI程序的后缀都是.pl或者.cgi。
作者: 小魔女    时间: 2015-3-23 06:38
当然我们在选择Asp.net主机是,除了要考虑服务提供商在版本是否是实时更新以外,机房的环境和配置也是非常重要的,通常选择骨干网的机房,在速度和稳定性上会非常有保证。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2