在窗口中输出文字

2016-02-19 12:19 7 1 收藏

只要你有一台电脑或者手机,都能关注图老师为大家精心推荐的在窗口中输出文字,手机电脑控们准备好了吗?一起看过来吧!

【 tulaoshi.com - 编程语言 】

在这里假定已经利用ApplicationWizard生成了一个SDI界面的程序代码。接下来的你只需要在CView派生类的OnDraw成员函数中加入绘图代码就可以了。在这里我需要解释一下OnDraw函数的作用,OnDraw函数会在窗口需要重绘时自动被调用,传入的参数CDC* pDC对应的就是DC环境。使用OnDraw的优点就在于在你使用打印功能的时候传入OnDraw的DC环境将会是打印机绘图环境,使用打印预览时传入的是一个称为CPreviewDC的绘图环境,所以你只需要一份代码就可以完成窗口/打印预览/打印机绘图三重功能。利用Windows的设备无关性和M$为打印预览所编写的上千行代码你可以很容易的完成一个具有所见即所得的软件。

输出文字一般使用CDC::BOOL TextOut( int x, int y, const CString& str )和CDC::int DrawText( const CString& str, LPRECT lpRect, UINT nFormat )两个函数,对TextOut来讲只能输出单行的文字,而DrawText可以指定在一个矩形中输出单行或多行文字,并且可以规定对齐方式和使用何种风格。nFormat可以是多种以下标记的组合(利用位或操作)以达到选择输出风格的目的。

DT_BOTTOM底部对齐   Specifies bottom-justified text. This value must be combined with DT_SINGLELINE.

DT_CALCRECT计算指定文字时所需要矩形尺寸   Determines the width and height of the rectangle. If there are multiple lines of text, DrawText will use the width of the rectangle pointed to by lpRect and extend the base of the rectangle to bound the last line of text. If there is only one line of text, DrawText will modify the right side of the rectangle so that it bounds the last character in the line. In either case, DrawText returns the height of the formatted text, but does not draw the text.

DT_CENTER中部对齐   Centers text horizontally.

DT_END_ELLIPSIS or DT_PATH_ELLIPSIS   Replaces part of the given string with ellipses, if necessary, so that the result fits in the specified rectangle. The given string is not modified unless the DT_MODIFYSTRING flag is specified.

You can specify DT_END_ELLIPSIS to replace characters at the end of the string, or DT_PATH_ELLIPSIS to replace characters in the middle of the string. If the string contains backslash () characters, DT_PATH_ELLIPSIS preserves as much as possible of the text after the last backslash.

DT_EXPANDTABS   Expands tab characters. The default number of characters per tab is eight.

DT_EXTERNALLEADING   Includes the font抯 external leading in the line height. Normally, external leading is not included in the height of a line of text.

DT_LEFT左对齐   Aligns text flush-left.

DT_MODIFYSTRING   Modifies the given string to match the displayed text. This flag has no effect unless the DT_END_ELLIPSIS or DT_PATH_ELLIPSIS flag is specified.

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

Note Some uFormat flag combinations can cause the passed string to be modified. Using DT_MODIFYSTRING with either DT_END_ELLIPSIS or DT_PATH_ELLIPSIS may cause the string to be modified, causing an assertion in the CString override.

DT_NOCLIP   Draws without clipping. DrawText is somewhat faster when DT_NOCLIP is used.

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

DT_NOPREFIX禁止使用&前缀   Turns off processing of prefix characters. Normally, DrawText interprets the ampersand (&) mnemonic-prefix character as a directive to underscore the character that follows, and the two-ampersand (&&) mnemonic-prefix characters as a directive to print a single ampersand. By specifying DT_NOPREFIX, this processing is turned off.

DT_PATH_ELLIPSIS   

DT_RIGHT右对齐   Aligns text flush-right.

DT_SINGLELINE单行输出   Specifies single line only. Carriage returns and linefeeds do not break the line.

来源:http://www.tulaoshi.com/n/20160219/1600596.html

延伸阅读
标签: 电脑入门
我们打开打印的设置查看到底是哪里出现问题了。在这里以word2007为例吧。 步骤一、首先运行2007版本。然后进入到word2007的主界面,点击菜单栏上面的,然后在下面点击小箭头的标志。如图所示: 步骤二、弹出了页面设置的窗口,然后切换到选项,在纸张的下面点击,如图所示: 电脑教程 步骤三、现在打开了word选项窗口了,然后点击选...
标签: 电脑入门
在文章如何避免 Excel 2010 窗口大小同步化中,我们示意了如何在在一个窗口中打开、排列多个 Excel 文件。但是很多使用 Windows 7 的同学还是喜欢两个窗口一拉一靠左右排列,既便于比较,也不妨碍操作。问题是,打开多个 excel 文件时,它总是显示在一个窗口中啊,怎样在单独的窗口中打开文件呢? 比较安全的方法嘛,就是直接从开始菜单中再...
标签: Web开发
JavaScript是基于对象的脚本编程语言,那么它的输入输出就是通过对象来完成的。其中有关输入可通过窗口(Window)对象来完成,而输出可通过文档(document)对象的方法来实现。 一、窗口及输入输出 请看下面例子: HTML Head script languaga="JavaScript" Var test=window.prompt("请输入数据:"); document.wr...
标签: word
在Word2010“样式”窗口中选择样式 第1步,打开Word2010文档窗口,选中需要应用样式的段落或文本块。在开始功能区的样式分组中单击显示样式窗口按钮,如图2010100205所示。 图2010100205 单击显示样式窗口按钮第2步,在打开的样式任务窗格中单击选项按钮,如图2010100206所示。 图2010100206 单击选项按钮第3步,打开样...
当你在窗体上加入Timer控件时,它只出现在设计时,而不会在运行时出现可见的控件图标。Timer控件带有两个重要的参数。Interval(间隔)属性用来确定Timer控件多久触发一次,其单位为毫秒,因此当该值为500时,就表示一秒钟会触发两次。Enabled(使能)属性用来确定Timer控件是运行(Enabled=True)还是停止(Enabled=False)状态。 实际...

经验教程

41

收藏

49
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部