📄 untitled-39.txt
字号:
第2章在窗口中绘图69
递给Textout每个刻度线的顶点坐标将数字标注放在刻度线的上方。在首次调用Textout之
前,把设备描述表的背景样式设置为TRANSPARENT。否则,标尺表面的数字会用白色背景
画出。
标尺应用程序没有采用把要传递给 Textout的字符串硬编码的方法,而是调用 CString::
Format生成标尺上的文本。 CString是描述文本字符串的 MFC类。 CString:: Format与 C语言
中printf函数的作用相同,它将数字表达转换为文本,并用它们替代格式字符串中的占位符。
用 C语言工作的 Windows编程人员常用 API函数:: wsprintf将文本格式化。对于 CString对
象,Format就能完成文本格式化,而不用调用其他外部函数。而且和:: wsprintf不同,Format
支持printf的所有格式代码,包括浮点型和字符型变量的格式代码。
标尺应用程序使用MM—LOENGLISH映射模式按比例缩放输出,如标尺上的1英寸对应
于屏幕上的1逻辑英寸。拿一个真标尺与屏幕上的相比较,您会发现在大部分PC上,
l逻辑英寸要比实际中的1英寸长一点。如果标尺是往打印机上输出,则两者就完全一
样了。
2.3看看画了些什么
不幸的是,标尺的输出还有一个问题:除非在分辨率很高的视频适配器上运行该程序,
否则您看不到它画的任何东西。即便在1280X1204像素的屏幕上,窗口也不能伸展到足
够宽,以使整个输出显示出来。不能放人窗口客户区的部分被GDI剪除了。虽然可以修改
样例程序使标尺变短,但对于在 640 x 480屏幕上运行 Windows的人来说仍然无济于事。不
过,这里有更好的解决办法,它与屏幕分辨率毫无关系。这就是滚动条。
2.3.1给窗口添加滚动条
滚动条是这样的一个窗口:窗口两端各有一个箭头,之间还有一个可用鼠标拖动的可
移动“滑块”。滚动条可摆放在水平或垂直方向上,但不能放在其他任意角度方向上。单击
滚动条的箭头、移动滑块,或单击滚动条体时,滚动条会向它所挂接的窗口发送消息来通知
该窗口。无论发生什么情况,都由窗口决定如何响应消息,滚动条很少自己响应消息。例
如:它并没有神奇地滚动窗口内容,它所做的是提供了一个直觉意义上的并被广泛认同的
机制,那就是,前后滚动物理窗口无法容纳的虚拟画面。
给窗口中添加滚动条是Windows编程中最容易的事。如果要添加垂直滚动条,则创建
WS_VSCROLL样式的窗口。如果要添加水平滚动条,则采用WS—HSCROLL样式。如果要同
时添加水平滚动条和垂直滚动条,则两种样式都采用。回忆第 1章,传递给 CFramewnd::
Create的第三个参数就是窗口样式,它的默认值为WS.OVERLAPPEDWINDOW。用下面的语句
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -