336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
SetConsoleCursorPosition
이API는 커서를 원하는 좌표로 이동시켜주는 API이다.
이API를 쓰지않고 cls를 통해 화면을지우고 다시 찍어주게되면
처음부터 끝까지 다시 찍는것이기때문에 사용할떄 화면이 흔들리거나 이쁘지가 않을수가있다.
하지만 SetConsoleCursorPosition 를 사용하면
해당좌표만가서 원하는 좌표에 값만다시 처리하기때문에 아주유용하다.
함수원형을 살펴보면
1
2
3
4 |
BOOL WINAPI SetConsoleCursorPosition(
_In_ HANDLE hConsoleOutput,
_In_ COORD dwCursorPosition
); |
cs |
첫번째 인자로 핸들을받고
두번째인자로
COORD 구조체로 좌표값을 받는다.
위 API로 간단한 함수를 만들어 봤다.
1
2
3
4
5
6
7 |
void gotoxy(int x,int y)
{
COORD Pos;
Pos.X=x;
Pos.Y=y;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),Pos);
} |
cs |
핸들을 넘겨줄때 STD_OUTPUT_HANDLE는 버퍼를 활성화시키라는것인거라고 들었는데 자세히는 찾아보지않았다.
이것을 사용해 간단한 프로그램을 만들어봤다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 |
#include <stdio.h>
#include <windows.h>
void gotoxy(int x,int y);
void main()
{
int cnt=-1;
char *str="2016/11/13!";
printf("Hello World!");
while(cnt++!=12)
{
gotoxy(cnt,0);
printf("%c",str[cnt]);
Sleep(500);
}
}
void gotoxy(int x,int y)
{
COORD Pos;
Pos.X=x;
Pos.Y=y;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),Pos);
} |
cs |
실행시키면 이런식이다.
'C or C++ > C or C++ API' 카테고리의 다른 글
SetConsoleTextAttribute API (0) | 2016.11.14 |
---|