Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Координаты курсора в консоле


Автор: Solomon 22.9.2006, 00:02
Есть небольшая проблемка... при нажатии бекспайс должен у меня стератся последний символ, для этого мне над знать текущее положение курсора по координате Х. Какой функцией можно выципеть координаты курсора?

Автор: Rockie 22.9.2006, 00:15
Цитата
Как определить позицию курсора в консоли Win32? 
  CONSOLE_SCREEN_BUFFER_INFO bi;
  GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE), &bi);
  // bi.dwCursorPosition - кооpдинаты куpсоpа

еще curx, cury. для передвижения gotoxy
Код
#include <conio.h>

int main(void)
{  gotoxy(35, 12);
    cprintf("Hello world");
    getch();
    return 0;
}

Автор: Solomon 22.9.2006, 14:48
Цитата(Rockie @  21.9.2006,  23:15 Найти цитируемый пост)
Как определить позицию курсора в консоли Win32? 
  CONSOLE_SCREEN_BUFFER_INFO bi;
  GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE), bi);
  // bi.dwCursorPosition - кооpдинаты куpсоpа



Да пробывал я так, но чето когда начинаю значение  bi.dwCursorPosition.X присваиваю какой нибуть переменной то программа вылетает с ошибкой.

И еще данная фнкция требует впторым параметром не CONSOLE_SCREEN_BUFFER_INFO ,а 
РCONSOLE_SCREEN_BUFFER_INFO если не изменить выдает ошибку

Автор: Rockie 22.9.2006, 15:46
возможно в FAQ опечатка. перед bi нужен &, в других постах исправил.
Код
#include<iostream>
#include<windows.h>

using namespace std;

int main()
{
  CONSOLE_SCREEN_BUFFER_INFO bi;
  GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE), &bi);
  cout<<bi.dwCursorPosition.X<<'\n';
  cout<<bi.dwCursorPosition.Y<<'\n';

  system("pause");
  return 0;
}

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)