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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.79
NAG
8 / 8 / 1
Регистрация: 15.03.2009
Сообщений: 267
#1

Графическое/текстовое оформление - C++

29.04.2009, 09:25. Просмотров 2486. Ответов 5
Метки нет (Все метки)

Как в Си можно графически немного отформатировать программу: изменить задний фон, цвет текста, рамку какую-то сделать и.т.д.?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.04.2009, 09:25     Графическое/текстовое оформление
Посмотрите здесь:

Графическое моделирование планетарной системы C++
C++ Графическое представление графа
C++ Графическое задание.
Графическое меню C++
C++ Графическое меню в DOS
Не графическое меню C++
Графическое оформление функции Y=A*EXP(X) C++
Графическое приложение C++
C++ Графическое отображение полинома
Графическое отображение графа C++
C++ Графическое задание на С++: танчики
C++ Графическое изображение делимости

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
YurA_280784
Заблокирован
29.04.2009, 09:42     Графическое/текстовое оформление #2
Если речь о консоли то вот те функция в помощь
Используем так

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
#include <твои хедеры>
 
void ColorDraw();//заголовок
void main()
{
   ColorDraw();
  //твой код
}
 
void ColorDraw()//прототип
{
    HANDLE hOutput = GetStdHandle(STD_OUTPUT_HANDLE);
    CONSOLE_SCREEN_BUFFER_INFO SCRN_INFO;
    GetConsoleScreenBufferInfo(hOutput, &SCRN_INFO);
    
    COORD POS;
    POS.X = 0;
    POS.Y = 0;
    FillConsoleOutputCharacter(hOutput, ' ',
    SCRN_INFO.dwSize.X*SCRN_INFO.dwSize.Y, POS, NULL);
    FillConsoleOutputAttribute(hOutput, 
        FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE /*цвет*/, 
        SCRN_INFO.dwSize.X*SCRN_INFO.dwSize.Y,POS,NULL);
 
    SetConsoleTextAttribute(hOutput,FOREGROUND_GREEN|FOREGROUND_INTENSITY);
    SetConsoleCursorPosition(hOutput,POS);
}
NAG
8 / 8 / 1
Регистрация: 15.03.2009
Сообщений: 267
29.04.2009, 10:06  [ТС]     Графическое/текстовое оформление #3
Куча ошибок появляется в программе!
stolyars
10 / 10 / 1
Регистрация: 24.12.2008
Сообщений: 32
29.04.2009, 11:39     Графическое/текстовое оформление #4
YurA_280784, какими цветами раскрасить текст может эта функция?пробовал
BLACK пишет ошибку...
radiohobbyt
192 / 190 / 4
Регистрация: 27.01.2009
Сообщений: 548
30.04.2009, 14:26     Графическое/текстовое оформление #5
C
1
#include <windows.h>
железно надобно!
neki
1 / 1 / 0
Регистрация: 03.04.2009
Сообщений: 20
04.05.2009, 02:49     Графическое/текстовое оформление #6
Ну для начала вспомните про псевдографику с помощью ёё получаются великолепные рамки. Мне больше всего нравятся двойные линии. Вводятся символы псевдографики так: зажимаете альт + на дополнительной цифровой клавиатуре вводите код клавиши(можно помотреть в таблице кодов символов).
Теперь о фоне.
Использоввание новых окон это конечно хорошо, но я неплохо спраляюсь textcolor(); background(); + gotoxy();
Вот готовится оформление для курсовика курсор пока косячит, но "текстовая графика" мне нревится. Там всё довольно просто, юзайте:
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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
#include<conio.h>
#include<stdio.h>
#include<dos.h>
void Cursor(int on)
  {
    _AH=1;
    if (on==1)
     {
      _CH=6;
      _CL=7;
     }
    else _CH=32;
  geninterrupt(0x10);
  }
void main () {
int i,j, tin, cv;
char a[19] [19];
for(i=0;i<19;i++) {
 for(j=0;j<19;j++) {  a[i] [j]=' '; }}
a[0] [0]='0'; a[5] [7]='X'; a[5] [8]='0';
// a[7] [7]='0';// a[5] [4]='0'; a[5] [7]='X';
textbackground(0);
//===========================================================================
//for(tin=0;tin<500;tin++) {
textbackground(6);
textcolor(BROWN);
clrscr();
//textbackground(9);
//printf("%d", cenx);
printf("\n\n            ");
for(i=0;i<19;i++) {
 for(j=0;j<19;j++) {  //a[i] [j]='0';
 if(cv==0) {textbackground(0); cv=1;} else {textbackground(15); cv=0;}
 cprintf(" %c ", a[i] [j]); if (j==18) {printf("\n            ");}   }}
cv=0;
int key,posx=13,posy=5;
Cursor(0);
//gotoxy(posx,posy);
//textcolor(RED);
//textbackground(RED);
//cprintf("aaa");
do
 {
  key=getch();
  if (key!=13)
    {
     //textbackground(RED);
     textcolor(GREEN);
     gotoxy(posx,posy);
     cprintf("[");
     gotoxy(posx+2,posy);
     cprintf("]");
     gotoxy(posx,posy);
 
     if (key==0)
      {
        key=getch();
        if((posx+posy)%2)textbackground(WHITE);
        else textbackground(BLACK);
        textcolor(WHITE);
        //gotoxy(posx,posy-1);
        //cprintf("   ");
        if (key==80)
         {
          gotoxy(posx,posy-1);
            cprintf(" ");
          gotoxy(posx+2,posy-1);
          cprintf(" ");
          posy++;
         }
 
        if (key==72)
         {
          gotoxy(posx,posy+1);
          cprintf(" ");
          gotoxy(posx+2,posy+1);
          cprintf(" ");
          posy--;
         }
 
      }
    }
 
 }
while(key!=13);
} //}
Код для dos компилятора.
Yandex
Объявления
04.05.2009, 02:49     Графическое/текстовое оформление
Ответ Создать тему
Опции темы

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