之前的章节中,我们在窗体上绘制了各式各样的图形。这一节中,我们将尝试在窗体上写一些文字。
创建一个宽度为800, 高度为600的窗体。设置背景颜色为白色,并用背景颜色清空整个窗体。之后,再将背景颜色设置为浅绿色。
initgraph(800, 600);
// 使用白色清空窗体
setbkcolor(WHITE);
cleardevice();
// 设置背景颜色为浅绿色
setbkcolor(RGB(164, 225, 202));
1. 绘制文字
现在,我们打算从(0, 0)
处开始写一行黑色的字:HelloWorld,你好,世界。
首先,通过settextcolor
函数,将字体颜色设置为黑色。默认的字体颜色为白色,如果将白色的字体显示在白色的窗体上,我们将看不到任何结果。
void settextcolor(COLORREF color);
参数 | 类型 | 意义 |
---|---|---|
color | COLORREF | 要设置的文字颜色 |
返回值 无
// 设置字体颜色为黑色
settextcolor(BLACK);
下面,让我们认识另外一个函数outtextxy
。它用于从坐标(x,y)
开始,绘制一行文字。
void outtextxy(
int x,
int y,
LPCTSTR str
);
参数 | 类型 | 意义 |
---|---|---|
x | int | 首字符的x轴的坐标 |
y | int | 首字符的y轴的坐标 |
str | LPCTSTR | 字符串首元素指针 |
第三个参数的类型为LPCTSTR
,它是一个宏,用于适配多字节字符与宽字符。该宏根据不同的条件,代表着不同的字符指针。
- 多字节字符字符模式下,它是
const char *
。 - 宽字符模式下,它是
const wchar_t *
。
我们讨论的重点并不是字符模式,后面的讨论中,都将仅讨论多字节字符。
在【工程属性】选项卡中,将【配置属性】-【高级】-【字符集】调整为未设置即可。
// 从(0, 0)处开始写一行字:HelloWorld,你好,世界。
const char* pText = "HelloWorld,你好,世界。";
outtextxy(0, 0, pText);
观察窗体可以看到,从(0, 0)
处开始写了一行字:HelloWorld,你好,世界
。而字体的背景是刚刚设置的浅绿色。