重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
C语言里面有gotoxy(x,y)函数来定位光标位置;
创新互联是专业的东港网站建设公司,东港接单;提供成都网站建设、成都网站制作,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行东港网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
但在VC下面没有conio.h,也就没有gotoxy(),只在tc,bc中才有
下面是别人构造的一个:
includewindows.h
#includeiostream
using namespace std;
void gotoxy(int x, int y) {
COORD c;
c.X = x - 1;
c.Y = y - 1;
SetConsoleCursorPosition (GetStdHandle(STD_OUTPUT_HANDLE), c);
}
int main()
{
gotoxy(20,12);
std::cout"Hello world!"endl;
return 0;
}
其中的COORD和SetConsoleCursorPosition定义在wincon.h中~
SetConsoleCursorPosition用于在相应的设备设置光标的位置,两个参数分别是设备句柄和光标位置结构。GetStdHandle定义在winbase.h上用于获得标准输入、输出、错误输出句柄
当参数标识为STD_OUTPUT_HANDLE时获得标准输出句柄
善于使用搜索引擎,搜到的
一、屏幕操作函数
1. clrscr()清除字符窗口函数
2. window()字符窗口函数
3. gotoxy()光标定位函数
4. clreol() 清除光标行尾字符函数
5. insline() 插入空行函数
6. delline() 删除一行函数
7. gettext() 拷进文字函数
8. puttext() 拷出文字函数
9. movetext() 移动文字函数
二、字符属性函数
10. textmode() 文本模式函数
11. highvideo()高亮度函数
12. lowvideo() 低亮度函数
13. normvideo(void);
14. textcolor() 文本颜色函数
15. textattr() 文本属性函数
16.textbackground() 文本背景函数
三、 屏显状态函数
17. wherex() 光标处x坐标函数
18. wherey() 光标处y坐标函数
19. gettextinfo() 获取文本窗口信息函数
2. window()字符窗口函数
功能: 函数window()用于在指定位置建立一个字符窗口。
用法: 此函数调用方式为 void window(int left,int top,int right,int bottom);
说明: 函数中参数left,top为窗口左上角坐标;right,bottom为其右下角坐标。
若有一个坐标是无效的,则window()函数不起作用。一旦该函数调用成功,那么所有定位坐标都是相对于窗口的,而不是相对于整个屏幕。但是建立窗口所用的坐标总是相对整个屏幕的绝对坐标,而不是相对当前窗口的相对坐标。这样用户就可以根据各种需要建立多个互不嵌套的窗口。
此函数的头文件为conio.h。
返回值:无
例: 调用这个函数的实现例见3.gotoxy()函数的例子中。
. gotoxy()光标定位函数
功能: 函数gotoxy()将字屏幕上的光标移到当前窗口指定的位置上。
用法: 这个函数调用方式为void gotoxy(int x,int y);
说明: 括号里x,y是, 光标定位的坐标,如果其中一个坐标值无效(如坐标超界),那么光标不会移动。
此函数在字符状态(有时称为文本状态)下经常用到 ,其相应的头文件为conio.h
返回值:无
例: 下面程序建立两个窗口,然后在窗口里显示字符,字符的位置是调用该函数确定的。
#include"conio.h
void border(int startx,int starty,int endx,int endy)
{
register int i;
gotoxy(1,1);
for(i=0;i=endx-startx;i++)
putch('-');
gotoxy(1,endy-starty);
for(i=0;i=endx-startx;i++)
putch('-');
for(i=2;i=endy-starty;i++){
gotoxy(1,i);
putch('1');
gotoxy(endx-startx+1,i);
putch('1');
}
}
main()
{
void border(int,int,int,int);
clrscr();
window(6,8,38,12);
border(6,8,38,12);
gotoxy(2,2);
printf("window 1");
window(8,16,40,24);
border(8,16,40,24);
gotoxy(3,2);
printf("window 2");
getch();
}
三、 屏显状态函数
这里提供三个在文本模式下屏幕显示状态的函数
17. wherex() 光标处x坐标函数
功能: 函数wherex()返回当前窗口中光标处横向坐标。
用法: 此函数调用方式为int wherex(void);
说明: 这个函数调用无参数,其对应的头文件是conio.h
返回值: 函数调用成功,返回光标处x坐标值。
例: 调用这个函数的实例见18.wherey()函数的例中。
18. wherey() 光标处y坐标函数
功能: 函数wherey()返回当前窗口中光标处纵向坐标。
用法: 该函数调用方式为int wherey(void);
说明: 此函数调用无参数,其相应的头文件是conio.h
返回值: 函数调用成功,返回光标处y坐标值。
例: 调作函数wherex()与wherey(),返回当前光标处x坐标与y坐标,并赋给整型变量xpos ,ypos。
int xpos,ypos;
xpos=wherex();
ypos=wherey();
19. gettextinfo() 获取文本窗口信息函数
功能: 函数gettextinfo()获取当前文本窗口信息,并存放在实参结构中。
用法: 函数调用方式为void gettextinfo(struct text-info *info);
说明: 函数中参数info 为struct text-info结构型指针,struct text-info结构在此函数相应的头文件中定义为:
struct text-info{
unsigned char winleft; // 窗口左上角x坐标
unsigned char wintop; // 窗口左上角y坐标
unsigned char winright; // 窗口右下角x坐标
unsigned char winbottom; // 窗口右下角y坐标
unsigned char attribute; // 文本属性
unsigned char normattr; // 正常属性
unsigned char currmode; // 当前屏显模式
unsigned char screenhight // 文本窗口高度(以行数计)
unsigned char screenwidth; // 文本窗口宽度(以字符个数计)
unsigned char curx; // 光标处x坐标
unsigned char cury; // 光标处y坐标
};
记住,调用函数gettextinfo()时,要传递struct text-info结构型指针或该结构的首地址,不要传递结构变量本身。
这个函数对应的头文件是conio.h
返回值: 返回文本窗口角点坐标、高宽度、文本属性等值,并存放在info所指向的结构变量中。
例: 程序语句说明如何正确调用gettextinfo()函数:
struct text-info win-status;
gettextinfo(win-status);
如果是12864的液晶,只需要写指令LCD_write_com(0x0f)即可
定位的话需要写光标定位函数LCD_SetCurrsor(u16 Xpos,u16 Ypos)
希望能够帮到你
可以用GetCursorPos函数获取光标位置;函数功能:该函数检取光标的位置,以屏幕坐标表示。函数原型:BOOLGetCursorPos(LPPOINTlpPoint);参数:IpPoint:POINT结构指针,该结构接收光标的屏幕坐标。VisualBasic6.0函数声明:[Public/Private]DeclareFunctionGetCursorPosLib"user32"Alias"GetCursorPos"(lpPointAsPOINTAPI)AsLong使用时要先定义一个数据结构:PublicTypePOINTAPIxAsLongyAsLongEndType