主页 / 库函数目录 / 绘图环境 / initgraph
功能:
初始化绘图环境。
声明:
void initgraph(
int width,
int height
);
void initgraph(
int width,
int height,
int initmode
);
void initgraph(
int* gdriver,
int* gmode,
char* path
); // 兼容 Borland C++ 3.1 的重载,不建议使用。
参数:
width
创建的窗口中,绘图区域的宽度。如果为 -1,则窗口使用屏幕的宽度。
height
创建的窗口中,绘图区域的高度。如果为 -1,则窗口使用屏幕的高度。
initmode
初始化模式,每个二进制位控制是否启用某种模式(值为 0 表示仅使用普通窗口,不启用额外的模式)
可以由以下模式进行组合:
初始化模式 | 值 | 说明 |
INIT_DEFAULT | 0x0 | 普通窗口 |
INIT_NOBORDER | 0x1 | 无边框窗口 |
INIT_CHILD | 0x2 | 子窗口,需配合 attachHWND() 函数 |
INIT_TOPMOST | 0x4 | 顶层窗口(不会被其它窗口遮挡) |
INIT_RENDERMANUAL | 0x8 | 手动渲染模式 |
INIT_NOFORCEEXIT | 0x10 | 退出时不强制结束程序,而是设置标志位,可由 is_run() 判断 当设置了 INIT_NOFORCEEXIT 模式后,用户进行关闭窗口操作时窗口不会关闭,程序也不会退出,此时 is_run() 返回 false。 同时 getch(), getmouse() 之类的阻塞性函数将不再阻塞,由于窗口没有主动关闭,所以后续需要在代码中自行做窗口关闭和程序退出的相关处理。 |
INIT_UNICODE (20.08 起) | 0x20 | 窗口使用 Unicode 字符集 |
INIT_HIDE (24.04) | 0x40 | 窗口创建后隐藏不可见(便于在窗口首次显示时为画面内容做准备) |
INIT_WITHLOGO | 0x100 | 带 EGE logo 出场动画 |
设定的组合模式:
组合模式 | 说明 |
INIT_ANIMATION | INIT_RENDERMANUAL 与 INIT_NOFORCEEXIT 模式的组合,用于动画 |
说明:
只有两个参数的函数 initgraph(width, height) 并未指定初始化模式,如果在此之前已经由 setinitmode() 指定
,那么使用其指定的初始化模式。如果尚未指定,那么 initgraph(width, height) 将在不同的编译模式下使用不同的初始化模式:
编译模式 | 初始化模式 |
Debug | INIT_DEFAULT |
Release | INIT_WITHLOGO |
返回值:
(无)
示例:
#include <graphics.h>
int main()
{
initgraph(640, 480);
circle(200, 200, 100);
getch();
cleardevice();
getch();
closegraph();
return 0;
}