Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
luciy93
0 / 0 / 0
Регистрация: 08.12.2011
Сообщений: 10
#1

Движение точек при выборе пункта меню - C++

08.04.2012, 00:42. Просмотров 817. Ответов 11
Метки нет (Все метки)

Здравствуйте! Как можно сделать так, как в этой программе, когда выбираешь первый пункт меню, а затем нажимаешь function one, чтобы так двигались точки? Файл прикреплен. Заранее спасибо!
0
Вложения
Тип файла: rar main.rar (105.3 Кб, 19 просмотров)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.04.2012, 00:42
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Движение точек при выборе пункта меню (C++):

Создать текстовое меню, в котором при выборе первого пункта вычисляется значения квадрата введенного числа - C++
Как создать текстовое меню, в котором при выборе первого пункта вычисляется значения квадрата введенного числа, при выборе второго пункта -...

Как отследить какое сообщение посылает менюшка при выборе пункта? - C++
Помогите пожалуста советом или исходником (что намного лучше). Кратка предъистория: Создал иконку в Systray-е, создал менюшку...

Очистить строку при каждом выполнении пункта меню - C++
Вот фрагмент из программы, подскажите кто может, как можно очистить строку b при каждом выполнении 2-го пункта меню, а то не правильно...

Отображение пункта меню по значению переменной - C++
Доброго времени суток. Снова столкнулся с проблемой. Предположим, есть переменная: int showsite; И пункт меню: MENUITEM "&Visit our...

Реализация каждого отдельного пункта меню с условием - C++
Помогите пожалуйста реализовать пункты текстового меню, всего 5 категорий, но каждое меню должно выбираться по вводу определнной цифры или...

Как програмно получить название пункта меню? - C++
ребят как выяснить название пункта меню програмно например: в офиссе в меню File первый подпункт Neu это мы видем когда открываем File а...

11
lom
15 / 15 / 5
Регистрация: 28.03.2012
Сообщений: 52
08.04.2012, 00:49 #2
как именно и где они должны двигаться?
(лучше вылаживать исходник, а не откомпилированный файл)
0
luciy93
0 / 0 / 0
Регистрация: 08.12.2011
Сообщений: 10
08.04.2012, 01:20  [ТС] #3
В том то и дело, что есть только такой файл. Не могу понять как это можно реализовать(движение точек)
0
Avazart
Нарушитель
Эксперт С++
7232 / 5404 / 294
Регистрация: 10.12.2010
Сообщений: 23,956
Записей в блоге: 17
08.04.2012, 01:27 #4
Думаю тут можно найти ответ
http://vsokovikov.narod.ru/New_MSDN_API/Console/con_fn.htm
0
luciy93
0 / 0 / 0
Регистрация: 08.12.2011
Сообщений: 10
08.04.2012, 02:01  [ТС] #5
А что именно там может помочь?
0
lom
15 / 15 / 5
Регистрация: 28.03.2012
Сообщений: 52
13.04.2012, 00:48 #6
там перечислено все, что необходимо для работы м консолью, очень полезная информация
но судя по всему в этой программе API-функции не используются, просто функции ну или циклы(что очень трудоемко и утомляет)
0
Avazart
Нарушитель
Эксперт С++
7232 / 5404 / 294
Регистрация: 10.12.2010
Сообщений: 23,956
Записей в блоге: 17
13.04.2012, 00:51 #7
lom, думаешь они просто очищают консоль, а потом заного делают вывод ?
0
lom
15 / 15 / 5
Регистрация: 28.03.2012
Сообщений: 52
13.04.2012, 00:56 #8
Ага, я правда еще только ознакамливаюсь в win api, но почему-то при переходе с одного пункта меню на другой текст подозрительно моргает... может я и ошибаюсь, но реализация через функции гораздо проще для новичков, не знающих api
0
Avazart
Нарушитель
Эксперт С++
7232 / 5404 / 294
Регистрация: 10.12.2010
Сообщений: 23,956
Записей в блоге: 17
13.04.2012, 01:03 #9
Да наверное используют
C++
1
system("cls");
я как-то про это неподумал
0
lom
15 / 15 / 5
Регистрация: 28.03.2012
Сообщений: 52
13.04.2012, 01:11 #10
Цитата Сообщение от Avazart Посмотреть сообщение
Да наверное используют
C++
1
system("cls");
скорее всего так и есть и если меню действительно написано через функции, то действительно было бы не плохо увидеть, как все-таки производится вывод точек
хотя если в программе используются функции, то в отображении обработки процесса задействовано что-то типа
C++
1
sleep();
и
C++
1
system("cls");
, однако все это скорее всего бред
0
-=ЮрА=-
Заблокирован
Автор FAQ
13.04.2012, 15:10 #11
luciy93, это назвается реакция коносли на нажатие стрелок клавиатуры. Вот вам код и проект
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#include <windows.h>
#include <string.h>
#include <stdio.h>
 
void ShowMenu(int iItem)
{
    char szStars[] = "***";
    char szText[4] = {0};
    system("cls");
    printf("%3s1 - 1-st item %3s\n",(strcpy(szText,(iItem == 1 ? szStars  : " "))), szText);
    printf("%3s2 - 2-nd item %3s\n",(strcpy(szText,(iItem == 2 ? szStars  : " "))), szText);
    printf("%3s3 - 3-rd item %3s\n",(strcpy(szText,(iItem == 3 ? szStars  : " "))), szText);
    printf("%3s4 - 4-th item %3s\n",(strcpy(szText,(iItem == 4 ? szStars  : " "))), szText);
    printf("%3s5 - 5-th item %3s\n",(strcpy(szText,(iItem == 5 ? szStars  : " "))), szText);
}
 
int main()
{
    int iItem = 1;//ГЋГІГўГҐГ·Г*ГҐГІ ГЄГ*êîé ГЇГіГ*ГЄГІ ìåГ*Гѕ Г*ГЄГІГЁГўГҐГ* Гў Г¤Г*Г*Г*ûé ìîìåГ*ГІ
    int nLast = 5;//ГЋГІГўГҐГ·Г*ГҐГІ ГЄГ*êîé ГЁГ*äåêñ Гі ïîñëåäГ*ГҐГЈГ® ГЇГіГ*ГЄГІГ* ìåГ*Гѕ
    ShowMenu(iItem);
    while(TRUE)
    {
        if(GetAsyncKeyState(VK_UP))
        {
            keybd_event(VK_UP, 0, KEYEVENTF_KEYUP, 0);//ÎòæèìГ*ГҐГ¬ ГЄГ*îïêó
            if(0 < iItem - 1)
                iItem = iItem - 1;
            else
                iItem = nLast;
            ShowMenu(iItem);
        }
        if(GetAsyncKeyState(VK_DOWN))
        {
            keybd_event(VK_DOWN, 0, KEYEVENTF_KEYUP, 0);//ÎòæèìГ*ГҐГ¬ ГЄГ*îïêó
            if(iItem < nLast)
                iItem = iItem + 1;
            else
                iItem = 1;
            ShowMenu(iItem);
        }
        if(GetAsyncKeyState(VK_RETURN))
        {
            keybd_event(VK_DOWN, 0, KEYEVENTF_KEYUP, 0);//ÎòæèìГ*ГҐГ¬ ГЄГ*îïêó
            ShowMenu(iItem);
            switch(iItem)
            {
            case 1:
                printf("Run 1-st item of menu\n");
                break;
            case 2:
                printf("Run 2-nd item of menu\n");
                break;
            case 3:
                printf("Run 3-rd item of menu\n");
                break;
            case 4:
                printf("Run 4-th item of menu\n");
                break;
            case 5:
                printf("Run 5-th item of menu\n");
                break;
            }
        }
    }
    return 0;
}
0
Миниатюры
Движение точек при выборе пункта меню  
Вложения
Тип файла: rar Stars.exe.rar (14.7 Кб, 3 просмотров)
Тип файла: rar Stars_project.rar (5.4 Кб, 5 просмотров)
-=ЮрА=-
Заблокирован
Автор FAQ
13.04.2012, 15:14 #12
Вообще рассматривал данную проблему в своём блоге http://www.cyberforum.ru/blogs/34326/blog263.html
а также на форуме неделю назад рассматривал аналогичное задание
(только двигались не звездочки а символ >, а так всё тоже самое)
Навигация по меню с помощью клавиш
0
13.04.2012, 15:14
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.04.2012, 15:14
Привет! Вот еще темы с ответами:

Нужно сделать активную кнопку выбора пункта меню - C++
В switch() будет 3 пункта меню. При нажатии на клавиатуре цифры &quot;1&quot; должно выполняться тело case, т.е должен быть не ввод единицы а её...

Как удалить меню выбора какого-либо пункта из консоли - C++
Вот мы запускаем программу,вылезает меню(создание ,просмотр файла и тд),допустим мы выбрали создание,как сделать так,чтобы меню из консоли...

После вызова первого пункта меню функция не возвращает введенную строку - C++
Очень нужна помощь людей с мозгами и желательно еще пояснения. Программа после вызова первого пункта меню не принимает строку,что делать?...

"Проскакивает" выбор пункта меню - C++
проблема в том что после завершения CASE1 нажимаю любую клавишу, вижу как проскакивает меню и меня перебрасывает в 1й пункт. как это...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru