Форум программистов, компьютерный форум, киберфорум
Наши страницы
Visual C++
Войти
Регистрация
Восстановить пароль
 
erslgoeirjh
0 / 0 / 1
Регистрация: 12.07.2013
Сообщений: 41
#1

Консольное окно в диалоговом MFC-приложении

11.10.2017, 08:47. Просмотров 158. Ответов 2
Метки нет (Все метки)

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

в функции CInitDlg::OnInitDialog :

C++
1
2
3
4
::AllocConsole();
freopen("CONIN$","rt",stdin);
freopen("CONOUT$","wt",stdout);
freopen("CONOUT$","wt",stderr);

деинициализация консольного окна происходит у меня в функции CInitDlg::OnBnClickedCancel :

C++
1
2
3
4
fclose(stdout);
fclose(stderr);
fclose(stdin);
::FreeConsole();

В связи с этим у меня два вопроса:
1) Можно ли в программе в зависимости от условия сделать так, чтобы это окно то выскакивало на передний план экрана, то удалялось на задний план?
2) Можно ли программно задать буфер этого консольного окна по вертикали, то есть чтобы вместо 80 строк в этом окне было бы, скажем, 3000 строк?

Если можно, то как это сделать?

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.10.2017, 08:47
Ответы с готовыми решениями:

Не функционирует button на диалоговом окне MFC
Всем привет! проблема заключается в следующем есть главное диалоговое окно на...

Как в диалоговом приложении VC++ в цикле вывести ряд кнопок button?
Собственно тема...

Как сделать чтобы кнопка в диалоговом окне не подсвечивалась до того, как на нее наведешь мышкой? (MFC)
Как сделать чтобы кнопка в диалоговом окне не подсвечивалась mfc до того, как...

MFC, рисование в однодокументном приложении
Заранее извините, если вопрос слишком глупый.(в своё оправдание могу сказать...

Debug assertion failed в MFC приложении
Здравствуйте народ. Прошу помощи. Столкнулся с проблемой Debug assertion...

2
Alex5
1122 / 783 / 232
Регистрация: 12.04.2010
Сообщений: 2,011
11.10.2017, 15:20 #2
С помощью функции GetConsoleWindow() можно получить дескриптор консольного окна. Управление положением окна - SetForegroundWindow(), SetWindowPos().
Цитата Сообщение от erslgoeirjh Посмотреть сообщение
задать буфер этого консольного окна по вертикали
Для этого используем функцию SetConsoleScreenBufferSize. Пример.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
    HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);
 
    CONSOLE_SCREEN_BUFFER_INFO info = {};
    GetConsoleScreenBufferInfo( hStdOut, &info );
    printf( "\n maximum window size, X: %d , Y: %d \n", (int)info.dwMaximumWindowSize.X, (int)info.dwMaximumWindowSize.Y );
 
    COORD bufferSize = {  info.dwMaximumWindowSize.X, 3000 };
    BOOL b = SetConsoleScreenBufferSize(hStdOut, bufferSize);
    if(! b )
    {
        b = ::GetLastError(); // 
        printf( "\n SetConsoleScreenBufferSize(),   error code: %d \n", (int)b );
    }
0
Миниатюры
Консольное окно в диалоговом MFC-приложении  
erslgoeirjh
0 / 0 / 1
Регистрация: 12.07.2013
Сообщений: 41
11.10.2017, 16:50  [ТС] #3
Ясно. А чему равно максимально допустимое число строк в буфере консольного окна--9999 или другое число?
(Потому что, вообще говоря, в моей программе может потребоваться число строк в консольном окне большее, чем 3000).
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.10.2017, 16:50

Построение графиков в MFC приложении Visual C++
Добрый день, прошу вас о помощи! Задача заключается в следующем: необходимо...

1 файл ресурсов на 2 приложения в приложении MFC
Всем доброго времени суток! Такой вопрос: возможно ли сделать 1 файл...

Построение графиков в MFC приложении Visual Studio.
Ребята, проверьте пожалуйста код программы. Задача построить график функции...


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

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

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