" id="b1img" alt="米课”N+1“思维建站-非官方免费技术支持,Wordpress/Zencart/Opencart建站、SEO" title="米课”N+1“思维建站-非官方免费技术支持,Wordpress/Zencart/Opencart建站、SEO">
  • " alt="米课”N+1“思维建站-非官方免费技术支持,Wordpress/Zencart/Opencart建站、SEO" title="米课”N+1“思维建站-非官方免费技术支持,Wordpress/Zencart/Opencart建站、SEO" />
  • " alt="Windows/Linux服务器运维技术支持 环境搭建、应用发布、服务器管理、虚拟化、云计算" title="Windows/Linux服务器运维技术支持 环境搭建、应用发布、服务器管理、虚拟化、云计算" />
  • " alt="高校/小型企业网络运维与建设免费技术支持,网络规划、网络优化、故障排除、网络管理" title="高校/小型企业网络运维与建设免费技术支持,网络规划、网络优化、故障排除、网络管理" />

Visual C++中使用gotoxy() / clrscr()

程序设计2006-07-15 itlogger阅读(401) 评论(0)

#include < windows.h >

void clrscr(void);

void clreol(void);

void clreoscr(void);

void gotoxy(int ,int );

// — Funktionsimplementierung

/*********************************************************************************/

void clrscr(void) //clearscreen: gesamten Bildschirm leeren

{

  CONSOLE_SCREEN_BUFFER_INFO  csbiInfo;              //variablendklaration

  HANDLE  hConsoleOut;

COORD  Home = {0,0};

  DWORD  dummy;

  hConsoleOut = GetStdHandle(STD_OUTPUT_HANDLE);

  GetConsoleScreenBufferInfo(hConsoleOut,&csbiInfo);

  FillConsoleOutputCharacter(hConsoleOut,' ',csbiInfo.dwSize.X * csbiInfo.dwSize.Y,Home,&dummy);  //bis cursorposition leerzeichen ausgeben

  csbiInfo.dwCursorPosition.X = 0;                  //cursorposition X koordinate festlegen

  csbiInfo.dwCursorPosition.Y = 0;                  //cursorposition Y koordinate festlegen

  SetConsoleCursorPosition(hConsoleOut,csbiInfo.dwCursorPosition);  //den cursor an die festgelegte koordinate setzen

}

/*********************************************************************************/

void clreol(void) //clear end of line: den rest der Zeile nach dem cursor löschen

{

  CONSOLE_SCREEN_BUFFER_INFO    csbiInfo;              //variablendklaration

  HANDLE  hConsoleOut;

COORD  Home,pos;

  DWORD  dummy;

  hConsoleOut = GetStdHandle(STD_OUTPUT_HANDLE);

  GetConsoleScreenBufferInfo(hConsoleOut,&csbiInfo);

  Home = csbiInfo.dwCursorPosition;

  pos.X = 80 – csbiInfo.dwCursorPosition.X;

  FillConsoleOutputCharacter(hConsoleOut,' ',pos.X,Home,&dummy);

}

/*********************************************************************************/

void clreoscr(void) //clear end of screen: alles nach dem cursor löschen

{

  CONSOLE_SCREEN_BUFFER_INFO    csbiInfo;              //variablendklaration

  HANDLE  hConsoleOut;

COORD  Home;

  DWORD  dummy;

  hConsoleOut = GetStdHandle(STD_OUTPUT_HANDLE);

  GetConsoleScreenBufferInfo(hConsoleOut,&csbiInfo);

  Home=csbiInfo.dwCursorPosition;

  FillConsoleOutputCharacter(hConsoleOut,' ',csbiInfo.dwSize.X * csbiInfo.dwSize.Y,Home,&dummy);

}

/*********************************************************************************/

void gotoxy(int x,int y) //cursor an gewuenschte position auf dem bildschirm setzen

{

  CONSOLE_SCREEN_BUFFER_INFO    csbiInfo;              //variablendklaration

  HANDLE  hConsoleOut;

  hConsoleOut = GetStdHandle(STD_OUTPUT_HANDLE);

  GetConsoleScreenBufferInfo(hConsoleOut,&csbiInfo);

  csbiInfo.dwCursorPosition.X = x;                  //cursorposition X koordinate festlegen

  csbiInfo.dwCursorPosition.Y = y;                  //cursorposition Y koordinate festlegen

  SetConsoleCursorPosition(hConsoleOut,csbiInfo.dwCursorPosition);  //den cursor an die festgelegte koordinate setzen

}

转载请注明 :IT樵客
文章地址:http://www.itlogger.com/program/328.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注