Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Рисование в Visual С++ 
:(
    Опции темы
Lorigin
Дата 12.3.2009, 00:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Печатаю фото на холс



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 11.3.2008
Где: Москва

Репутация: нет
Всего: нет



Здравствуйте товарищи, вот столкнулся с проблемой - нужно рисовать в консоле в Visual C++

как это сделать?? как подключить графический режим?? 

Раньше работал в паскале.. там все как два пальца.. подключаешь библиотечку и рисуешь лайнами или ректанглами..  а тут??

вот программка... ну каркасик.. во первых меню хотелось бы сделать нормальным, не -->, а как то графиечки выделать (рисовать ректангл например), ну а дальше уж и график рисовать..  это уж сам естественно сделаю.. мне главное что нужно сделать чтобы можно было использовать графические примитивы.. 
может это возможно как то с помошью OpenGL сделать или MFC.. ? мне нужно чтобы только черный экранчик и там текст можно было без проблем выводить, ну и рисовать 
Код

#include "stdafx.h"
#include <stdio.h>
#include <tchar.h>
#include <locale>
#include <iostream>
#include <string>
#include <conio.h>

#include <windows.h>
#define UP 56
#define UP_NUM 72
#define DOWN 50
#define DOWN_NUM 80
#define ENTER 13
#define ESC 27

#define ITEM_COUNT 4
#define FIRST_ITEM 0


int g_SelectedItem = 0;

wstring MenuItem[ITEM_COUNT] = {L"Настройки",L"Вывод таблицы",L"Вывод графика",L"Выход"};

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL,".OCP");
    while (true) {
        ShowMenu(g_SelectedItem);    
            switch(_getch())
            {
            case UP:
            case UP_NUM: //если нажали вверх то меняем индекс выделенного объекта, для дальнейшей перерисовки
                (g_SelectedItem == FIRST_ITEM) ? g_SelectedItem = ITEM_COUNT - 1 : g_SelectedItem-- ;
                break;
            case DOWN:
            case DOWN_NUM:
                (g_SelectedItem == ITEM_COUNT - 1) ? g_SelectedItem = FIRST_ITEM : g_SelectedItem++ ;
                break;
            case ENTER:
                break;
            case ESC:
                exit(0);
                break;
            }
    }
    return 0;
}

void ShowMenu(int ActivElement)
{
    system("cls");
    bool Selected;
    for(int i=0; i < ITEM_COUNT; i++)  // выводит меню
    {
        Selected = false;
        if (i == ActivElement) Selected = true; // если нужно выввести ТЕКУЩИЙ (как будто курсор на нем стоит)
     ShowMenuItem(i,Selected);
    }
}

void ShowMenuItem(int Index, bool Selected)
{
    if (Selected)
    {
        wcout<<"--> "<<MenuItem[Index] << endl;  //ставим наш курсор
    } 
    else
    {
        wcout<<"    "<<MenuItem[Index] << endl;   // не ставим курсор
    }
}

PM MAIL WWW   Вверх
chaos
Дата 12.3.2009, 07:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Серийный программист
****


Профиль
Группа: Завсегдатай
Сообщений: 2979
Регистрация: 7.7.2004
Где: Екатеринбург

Репутация: нет
Всего: 44



Lorigin, на сколько я знаю .... можешь забыть про паскаль и графический режим под досом.
решение вижу в:
создаешь обычное окно, а в нем уже делаешь все что тебе надо

Добавлено через 2 минуты и 20 секунд
ЗЫЫ константы для кодов клавишь уже есть в windows.h типо VK_RETURN, VK_ESC.....

PM WWW   Вверх
Lorigin
Дата 12.3.2009, 10:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Печатаю фото на холс



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 11.3.2008
Где: Москва

Репутация: нет
Всего: нет



а пример не могли бы кинуть.. как линию нарисовать)
PM MAIL WWW   Вверх
Gluttton
Дата 12.3.2009, 10:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начинающий
***


Профиль
Группа: Завсегдатай
Сообщений: 1170
Регистрация: 28.8.2008
Где: Феодосия

Репутация: нет
Всего: 54





--------------------
Слава Україні!
PM MAIL   Вверх
chaos
Дата 12.3.2009, 11:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Серийный программист
****


Профиль
Группа: Завсегдатай
Сообщений: 2979
Регистрация: 7.7.2004
Где: Екатеринбург

Репутация: нет
Всего: 44



Цитата(Lorigin @ 12.3.2009,  07:00)
а пример не могли бы кинуть.. как линию нарисовать)

Рисуем в окне




PM WWW   Вверх
rawdef
Дата 7.5.2009, 03:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 23.3.2009

Репутация: нет
Всего: нет



не, те 2 темы не подходят к этой просьбе нужно рабочий пример именно к Visual 2008 и автор тоже ссылается на вижул си, так как же крафику в консоли выводить?
PM MAIL   Вверх
J0ker
Дата 7.5.2009, 06:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 986
Регистрация: 17.9.2008

Репутация: 9
Всего: 14



Цитата(rawdef @  7.5.2009,  03:31 Найти цитируемый пост)
так как же крафику в консоли выводить? 

никак
консоль текстовая по определению


--------------------
user posted image
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0451 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.