• 您的位置我爱Aspx >> VC.Net >> <b>常见Visual C++开发使用问答(下)</b>
  • <b>常见Visual C++开发使用问答(下)</b>

  • 作者:aspxer  来源:internet  日期:2007-5-21 23:13:53  关键字:
  • 常见Visual C++开发使用问答(下)

    ·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,但是这样一来,不管你的数据量有多大,滚动条总是会出现。

    我对这篇文章有话说?
  • 广告位招租,广告代号:content_468_15
  • 上一篇:<b>Visual C++中的ODBC编程实例</b>
    下一篇:<b>常见Visual C++开发使用问答(上)</b>
  • 相关文章