copywin 子例程
用途
复制窗口的区域。
库
Curses 库 (libcurses.a)
语法
描述
copywin 子例程提供对 overlay 和 overwrite 子例程的更精细的控制。 如同在 prefresh 子例程中一样,在目标窗口 (dimrow, dimcol) 和 (dmaxrow, dmaxcol) 以及源窗口的左上角坐标 (sminrow, smincol) 中指定了矩形。 如果 overlay 子例程为 TRUE ,那么复制是无损的,如 overlay 子例程中所示。 如果 overlay 子例程是 FALSE ,那么复制是破坏性的,就像在 overwrite 子例程中一样。
参数
| 项 | 描述 |
|---|---|
| * srcwin | 指向包含要复制的区域的源窗口。 |
| * dstwin | 指向要复制到的目标窗口。 |
| sminrow | 指定源区域的左上行坐标。 |
| smincol | 指定源区域的左上角列坐标。 |
| dminrow | 指定目标区域的左上方行坐标。 |
| dmincol | 指定目标区域的左上角列坐标。 |
| dmaxrow | 指定目标区域的右下方行坐标。 |
| dmaxcol | 指定目标区域的右下列坐标。 |
| 覆盖程序段/覆盖 (overlay) | 设置副本类型。 如果设置为 TRUE ,那么副本是无损的。 否则,如果设置为 FALSE ,那么副本具有破坏性。 |
返回值
成功完成后, copywin 子例程返回 OK。 否则,将返回 ERR。
示例
要复制到由坐标 (30,40), (30,49), (39,40) 和 (39,49) 在源窗口中以坐标 (0, 0) 开头,输入以下命令:
WINDOW *srcwin, *dstwin;
copywin(srcwin, dstwin,
0, 0, 30,40, 39, 49,
TRUE); 此示例将以坐标 (0, 0) 开头的源窗口中的 10 行和 10 列复制到由左上坐标 (30,40) 和右下坐标 (39,49) 定义的目标窗口中的区域。 因为 Overlay 参数设置为 TRUE ,所以复制是非破坏性的,并且不会复制源窗口中的空白。