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

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

Войти
Регистрация
Восстановить пароль
 
Мусаси
7 / 7 / 0
Регистрация: 07.05.2013
Сообщений: 178
#1

C++ Консоль. Графика - C++

12.01.2014, 12:51. Просмотров 1218. Ответов 13
Метки нет (Все метки)

Добрый день. Возник такой вопрос. Как создать в консольном приложении кнопку и чтобы она выполняла действие? Например вывести информацию об авторе работы?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.01.2014, 12:51
Здравствуйте! Я подобрал для вас темы с ответами на вопрос C++ Консоль. Графика (C++):

Графика + консоль. Как? - C++
Вечер добрый! Подскажите как в С++ сделать графическое меню, с фоновой картинкой и прочими плюшками. А при нажатии на кнопку "Играть"...

Консоль, кубизм, минимализм, как быть? (графика и алгоритмы) - C++
Добрый день. Я пытаюсь придумать решение своей проблемы, но не знаю в какую сторону двигаться. Суть такая: мне нужно нарисовать...

Консоль - C++
Подскажите пожалуйста,не могу включить консоль в играх,обычно это буква ё,а что то не получается,консоль не включается,в чем причина,или...

Консоль и C++ - C++
Допустим у меня есть выражение, значение которого я хочу подсчитать. Я ввожу это выражение, затем ввожу знак равенства нажимаю клавишу...

Консоль - C++
Написал вот такую программу #include <windows.h> #include <conio.h> int main() { HWND...

консоль - C++
Есть файл с данными (большой текст, около 300 строк), когда считываю данные оттуда и вывожу их на экран(в консоли) часть данных теряется ...

13
xoror
29 / 31 / 2
Регистрация: 15.12.2013
Сообщений: 147
12.01.2014, 13:41 #2
Цитата Сообщение от Мусаси Посмотреть сообщение
Как создать в консольном приложении кнопку?
Никак
0
zss
Модератор
Эксперт С++
6536 / 6098 / 2008
Регистрация: 18.12.2011
Сообщений: 15,861
Завершенные тесты: 1
12.01.2014, 14:03 #3
Появилась идея -
создать новое диалоговое окно с кнопкой
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
#include <windows.h>
#include "resource.h"
int WINAPI fn(HWND hwnd,int cmd,WPARAM wp,LPARAM lp)
{
    switch(cmd)
    {
 
    case WM_CLOSE:
        EndDialog(hwnd,2); 
        return 1;
    case WM_COMMAND:
        switch(LOWORD(wp))
        {
        case IDOK:  // обработка кнопки OK
            EndDialog(hwnd,0); 
            return 1;
        case IDCANCEL:
            EndDialog(hwnd,1); // обработка кнопки Cancel
            return 1;
        }
        return 0;
    }
    return 0;
}
int main()
{
    HWND hwnd;       
    char Title[1024];
    GetConsoleTitle(Title, 1024); // Узнаем имя окна
    hwnd=FindWindow(NULL, Title); // Узнаем hwnd окна
    HINSTANCE hi=(HINSTANCE)GetWindowLong(hwnd,GWL_HINSTANCE);
    DialogBox(hi,MAKEINTRESOURCE(ID_DIALOG),NULL,(DLGPROC)fn); // Вызвать диалог ID_DIALOG из ресурса
    system("pause");
    return 0;
}
Однако, у меня такой диалог почему-то не открывается.
0
ilja123
43 / 43 / 7
Регистрация: 24.12.2009
Сообщений: 400
12.01.2014, 14:30 #4
Цитата Сообщение от xoror Посмотреть сообщение
Никак
Это где НИКАК??? В VS 2014?

В старых Builder C++ есть graphics.h Рисуй че хош

Добавлено через 1 минуту
В windows можно рисовать при помощи GDI Получаешь дескриптор консоли И рисуй че хош (winApi почитай)

Добавлено через 12 минут
Самый интересный вариант использовать ASCII Графику Т.е. твоя кнопка может выглядеть так

╔════════╗
║ OK ║
╚════════╝



Добавлено через 2 минуты
Чет с пробелами тут лажа
1
nexen
187 / 180 / 3
Регистрация: 27.01.2012
Сообщений: 1,335
12.01.2014, 14:33 #5
Мусаси, можно сделать либо символами, как показал ilja123, либо нарисовать поверх окна линии при помощи того же WINAPI.
Функции: LineTo(), MoveToEx(), GetConsoleHandle()
0
zss
Модератор
Эксперт С++
6536 / 6098 / 2008
Регистрация: 18.12.2011
Сообщений: 15,861
Завершенные тесты: 1
12.01.2014, 14:53 #6
Цитата Сообщение от Мусаси Посмотреть сообщение
Как создать в консольном приложении кнопку
Думаю, автор хочет именно создать функциональную кнопку, а не нарисовать ее.
0
Мусаси
7 / 7 / 0
Регистрация: 07.05.2013
Сообщений: 178
12.01.2014, 16:22  [ТС] #7
Да, нужна функциональная кнопка.

Добавлено через 7 минут
Может её каким-то образом разместить на панели?
0
ilja123
43 / 43 / 7
Регистрация: 24.12.2009
Сообщений: 400
12.01.2014, 16:22 #8
не понял А что мешает из нарисованной кнопки сделать функциональную??
0
Мусаси
7 / 7 / 0
Регистрация: 07.05.2013
Сообщений: 178
12.01.2014, 16:23  [ТС] #9
ilja123 , а как тогда это сделать?
0
ilja123
43 / 43 / 7
Регистрация: 24.12.2009
Сообщений: 400
12.01.2014, 16:26 #10
Нарисовать кнопку в нужном положении X и Y. Получить значения X и Y курсора мыши. Если была нажата кнопа мыши и положение курсора было в пределах кнопки, то БАЦ!!! ShowInfo();
1
Мусаси
7 / 7 / 0
Регистрация: 07.05.2013
Сообщений: 178
12.01.2014, 16:28  [ТС] #11
Сейчас попробую
0
ValeryS
Модератор
6709 / 5118 / 482
Регистрация: 14.02.2011
Сообщений: 17,205
12.01.2014, 16:33 #12
ilja123,
а что будет с твоей кнопкой когда, в консоли выведется лишняя строка?
уедет вверх
опять перерисовывать?
почему нельзя создать GUI приложения которые для этого и предназначены?
0
ilja123
43 / 43 / 7
Регистрация: 24.12.2009
Сообщений: 400
12.01.2014, 16:38 #13
ValeryS, понятия не имею Я в консоле кнопки не выводил
Мусаси, Пойди на хитрость Не заморачивайся с рисованием кнопки. Напиши в консоле надпись "Хош узнать об авторе Набери ShowInfo и нажми enter" А всю инфу выведи чз MessageBox(0, "Hi", "Я супер крутой прогер-хакер", MB_OKCANCEL);
0
ValeryS
Модератор
6709 / 5118 / 482
Регистрация: 14.02.2011
Сообщений: 17,205
12.01.2014, 16:42 #14
Цитата Сообщение от ilja123 Посмотреть сообщение
Я в консоле кнопки не выводил
но рекомендовал
Цитата Сообщение от ilja123 Посмотреть сообщение
Нарисовать кнопку в нужном положении X и Y. Получить значения X и Y курсора мыши. Если была нажата кнопа мыши и положение курсора было в пределах кнопки, то БАЦ!!! ShowInfo();
0
12.01.2014, 16:42
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.01.2014, 16:42
Привет! Вот еще темы с ответами:

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

Консоль - C++
Как сделать так , что бы при выполнении кода не появлялась консоль ?

Консоль - C++
Если в консоли зайти в свойства то там есть свойство размер окна! как мне его изменить???

Консоль - C++
Можно ли в консольном приложении сделать так, чтобы саму консоль не было видно вообще?


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

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

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