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

Атрибуты консоли в C++ - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 21, средняя оценка - 4.81
Digital Imp
2 / 2 / 0
Регистрация: 13.07.2009
Сообщений: 10
13.07.2009, 21:17     Атрибуты консоли в C++ #1
С++
Win32 Console Application.
Компилятор - Microsoft Visual Studio C++ 2005

Как при компилировании задать параметр для консоли, что бы при запуске *.exe отсутствовала полоса прокрутки?

Как вообще настроить параметры? Видел реализации, где при запуски программ были явно просто консоли, но с изменёнными шрифтами, размерами, цветами.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
RazorQ
 Аватар для RazorQ
576 / 343 / 9
Регистрация: 06.02.2009
Сообщений: 1,386
13.07.2009, 21:21     Атрибуты консоли в C++ #2
WinAPI все это может
Digital Imp
2 / 2 / 0
Регистрация: 13.07.2009
Сообщений: 10
13.07.2009, 21:25  [ТС]     Атрибуты консоли в C++ #3
Вы считаете это ответом? Вот так вот абстрактно и я знал, что это можно сделать. Но где посмотреть, куда заглянуть?
Phantom
Эксперт C++
 Аватар для Phantom
3160 / 842 / 15
Регистрация: 29.12.2008
Сообщений: 952
13.07.2009, 21:32     Атрибуты консоли в C++ #4
Например, посмотри функцию SetConsoleTextAttribute() и другие, в интернете много информации по ним. А ещё есть список таких функций для работы с консолью:
http://ru.wikibooks.org/wiki/Ruby/Сп...ndows::Console.
^Tecktonik_KiLLeR
 Аватар для ^Tecktonik_KiLLeR
1144 / 426 / 19
Регистрация: 23.06.2009
Сообщений: 6,147
Завершенные тесты: 1
13.07.2009, 22:07     Атрибуты консоли в C++ #5
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
#include "stdafx.h"
#include <windows.h>
#include <stdio.h>
#include <time.h>
 
int count = 0;
 
void main()
{
        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,SCRN_INFO.dwSize.X*SCRN_INFO.dwSize.Y,POS,NULL);
 
   
        SetConsoleCursorPosition(hOutput,POS);
 
        if(count < 100)
                printf("percent of complete %d %%",count);
        else 
                count = 0;
        count++;
        Sleep(100);
        main();
}
ЗЕЛЕНЫЙ ЦВЕТ И ЖИРНЫЙ ТЕКСТ
Digital Imp
2 / 2 / 0
Регистрация: 13.07.2009
Сообщений: 10
13.07.2009, 22:35  [ТС]     Атрибуты консоли в C++ #6
@lex, компилятор пишет, что в 19й строке функция FillConsoleOutputAttribute "не получает 4 аргумента".
Phantom
Эксперт C++
 Аватар для Phantom
3160 / 842 / 15
Регистрация: 29.12.2008
Сообщений: 952
13.07.2009, 22:51     Атрибуты консоли в C++ #7
Digital Imp, посмотри как эта функция используется, не пропустил ли чего?
(заодно почитай, это тоже по твоей теме):
Графическое/текстовое оформление
http://www.cyberforum.ru/visual-cpp/...ost119048.html
Digital Imp
2 / 2 / 0
Регистрация: 13.07.2009
Сообщений: 10
13.07.2009, 22:56  [ТС]     Атрибуты консоли в C++ #8
Впрочем @lex всё же навёл на нестандартное решение задачи.

Пока гуглил, наткнулся, что баффер этого окна равен 80 на 300, отсюда и скролл бар. Линейным решением было сократить этот баффер Y’ка до 25ти.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <windows.h>
#include <iostream>
using namespace std;
 
void main()
{
    HANDLE hOut;
    CONSOLE_SCREEN_BUFFER_INFO SBInfo;
    COORD NewSBSize;
 
    hOut = GetStdHandle(STD_OUTPUT_HANDLE);
 
    GetConsoleScreenBufferInfo(hOut,
                               &SBInfo);
 
    NewSBSize.Y = 25;
 
    SetConsoleScreenBufferSize(hOut,
                               NewSBSize);
 
}
Есть более корректное решение?

П.С.
Вообще я зря написал про текст и шрифты, меня бар интересовал больше, а вы отвлеклись на второстепенную задачу. )
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.07.2009, 23:07     Атрибуты консоли в C++
Еще ссылки по теме:

Графика в консоли C++
C++ Меню на консоли
Написать код для флага РФ, используя только атрибуты C++
C++ можно ли менять атрибуты файла?
Размер файлов и папок. Их атрибуты C++

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

Или воспользуйтесь поиском по форуму:
^Tecktonik_KiLLeR
 Аватар для ^Tecktonik_KiLLeR
1144 / 426 / 19
Регистрация: 23.06.2009
Сообщений: 6,147
Завершенные тесты: 1
13.07.2009, 23:07     Атрибуты консоли в C++ #9
то что прочел то и выложил...
Yandex
Объявления
13.07.2009, 23:07     Атрибуты консоли в C++
Ответ Создать тему
Опции темы

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