我爱Aspx >> VC.Net >> <b>常见Visual C++开发使用问答(下)</b>·VC 6.0 对 VC 5.0 的兼容性?
很不幸,vc 6.0 在调试模式对 vc 5.0 不兼容,但发行模式没有问题。原因在微软改变了调试模式所用 dll 的格式,而保留了原文件名。因此,不要在 vc 6.0 中打开 vc 5.0 的调试版本工程。
·打印和打印机的问题?
我碰到这么一个问题:在打印方法中使用了 MM_LOMETRIC 模式,在 LOGFONT 结构中改变了字体的大小,但不知道 173(或者对于屏幕而言是 25)是从哪来的,它是自动的。然而当我用另外一个打印机时 173 并不适合。我想知道的是:我如何对所有的打印来调整这个数字。
我以前也碰到过类似的问题,我让用户改变字体(大小,颜色等)。这些改变在屏幕上看起来挺好,但是打印时太小(我的同事在程序包中加入一个放大类)。原因非常简单:打印机的分辨率可能是 300 dpi,而屏幕的分辨率则低得多。我是这么解决的:在获得屏幕字体信息后,我获取屏幕字体的毫米级大小(使用 LPtoDP,然后将模式变为 MM_LOMETRIC,调用 DPtoLP),接着对打印机设定了相同的模式,再调用 LPtoDP。切换回原来的模式之后,我调用了 DPtoLP,这样就得到了想要的字体高度和宽度。在 LOGFONT 中使用这个值,并且带有其它诸如下划线,斜体等字体信息,我实现了用户的要求。
·CRichEditCtrl 滚动条的问题?
我使用了 CRichEditCtrl 控制来显示某个文件中的数据(将该控制设置为只读)。我已经设置了 ES_MULTILINE/ES_AUTOVSCROLL,但当数据内容比控制显示多的时候,滚动条并不出现,是不是因为设置了只读属性而引起了其它的问题? ES_AUTOVSCROLL/ES_AUTOHSCROLL 属性只在控制是可编辑时有效。你可心使用下面的滚动条风格来使滚动条出现:WS_VSCROLL/WS_HSCROLL,但是这样一来,不管你的数据量有多大,滚动条总是会出现。
【我对这篇文章有话说?】
<b>常见Visual C++开发使用..[05-21]
<b>应用程序中超文本浏览功..[05-21]
<b>Visual C++窗体设计技巧..[05-21]
<b>C++编程技巧</b>[05-21]
<b>Visual C++实现Flash动..[05-21]
<b>VC++中播放声音的方法&..[05-21]
<b>Dynamic-Link Librarie..[05-21]
<b>Visual C++中OpenGL编程..[05-21]
<b>VC代码的编写和调试<..[05-21]
<b>用VC实现拨号上网程序&..[05-21]