С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
2 / 2 / 0
Регистрация: 04.04.2011
Сообщений: 19

Работа с консолью в Windows. Перемещение фокуса ввода на начало.

25.07.2011, 23:30. Показов 2116. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Хочу написать тетрис в текстовом режиме, а для этого надо каждый раз заново выводить заново поле с текстовым изображением предметов. Как перемещать фокус ввода (или как это называется), на начало.
К примеру я вывел текст: "Hello World!!!";
Как сделать так, чтобы можно было снова вводить с того места, где находится символ "H"?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.07.2011, 23:30
Ответы с готовыми решениями:

Перемещение фокуса курсора в начало и конец текста
Есть функция, которая в текстовом редакторе(текст вводится в RichTextBox) перемещает курсор влево или вправо при нажатии клавиш в...

Перенос фокуса мыши в начало маски ввода, при переходе в поле указателем мыши
Добрый день. Как перенести фокус мыши программно, в начало маски ввода (предположим маска ввода № телефона), при переходе в поле, с...

Перемещение фокуса с кнопки на форму
Никак не могу переместить фокус с кнопки на форму после нажатия на нее (кнопку). private void btn_MouseUp(object sender,...

4
 Аватар для iama
1360 / 988 / 119
Регистрация: 30.07.2010
Сообщений: 5,297
25.07.2011, 23:45
Если не будете слишком часто обновлять экран, то и
C++
1
system("cls");
покатит
0
 Аватар для xAtom
935 / 760 / 299
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
26.07.2011, 06:20
Вот привёл не большой пример, смотри. :cofee2:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include <stdio.h>
#include <windows.h>
 
 
int main(void){
 
    HANDLE  hout = GetStdHandle(STD_OUTPUT_HANDLE);
 
    const char* chars[7] = {
        "Samsung\n",
        "Motorolla\n",
        "Sony Erricson\n",
        "Nokia\n",
        "Apple\n",
        "LG\n",
        "PHILIPS\n"
    };
 
    DWORD dw;
    for(int i  = 0; i < 7; i++) {
        SetConsoleTextAttribute(hout, 9 + i);
        WriteConsole(hout, chars[i], lstrlen(chars[i]), &dw, NULL);
    }
    Sleep(1000u);
 
    CONSOLE_SCREEN_BUFFER_INFO info;
    GetConsoleScreenBufferInfo(hout, &info);
    int cnt = 8;
    while(cnt--) {  // Поднимимся назад к самой первой строке
        COORD pos = { info.dwCursorPosition.X, info.dwCursorPosition.Y-- };
        SetConsoleCursorPosition(hout, pos);
        FillConsoleOutputCharacter(hout, ' ', info.dwSize.X,      pos, &dw);
        FillConsoleOutputAttribute(hout, 40 + cnt*20, info.dwSize.X, pos, &dw);
        Sleep(1000u);
    }
 
    getchar();
    return 0;
}
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
26.07.2011, 09:28
Посмотри этот пост там как раз по твоей теме и даже чуть больше
Несколько вопросов
0
Мат в 32 хода
 Аватар для nikkka
237 / 172 / 18
Регистрация: 10.09.2009
Сообщений: 1,096
26.07.2011, 10:07
так тоже можно, и для тетриса по моему больше подойдёт. правда этот способ не стирает существующие символы а просто перемещяет каретку. а ещё вместо endl придётся использовать \n...
C++
1
2
3
4
5
6
7
#include <iostream>
int main()
{
    std::cout<<"Hello, world!";
    std::cout<<"\b\b\b\b\b\b\b\b\b\b\b\b\b";
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
26.07.2011, 10:07
Помогаю со студенческими работами здесь

Перемещение фокуса по нажатию на TAB
Привет. У меня есть проект на с++ + MFC. Там есть диалог. В этом диалоге при нажатии на TAB, фокус идет не попрядку по контролам, а...

Перемещение фокуса по коллекции записей субФормы
Требуемая логика. - Пользователь. Вводит значение в поле &quot;fNameStud_frm&quot;; - Код. Поиск по критерию &quot;NameStud Like '*&quot; &amp;...

Перемещение фокуса на конкретный компонент, имеющий известный TabOrder
Помогите, пожалуйста! Как выбрать элемент (переместить фокус, не курсор мыши), если известен его TabOrder? Может есть что-то проще, чем...

Перенос фокуса на поле ввода
Доброго вечера всем! Вопрос - как можно реализовать следующее: при заполнении поля ввода курсор дожен автоматом перескочить на следующее....

Удержание фокуса ввода на окне
С помощью SetForegroundWindow перевожу фокус ввода на нужное окно (чужое приложение). Имитируя в этом окне движения мыши и нажатия клавиш...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru