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

Visual C++

Войти
Регистрация
Восстановить пароль
 
erslgoeirjh
0 / 0 / 0
Регистрация: 12.07.2013
Сообщений: 30
#1

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

11.10.2017, 08:47. Просмотров 120. Ответов 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
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Консольное окно в диалоговом MFC-приложении (Visual C++):

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

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

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

MFC, рисование в однодокументном приложении - Visual C++
Заранее извините, если вопрос слишком глупый.(в своё оправдание могу сказать лишь, что я не такой уж профан, но писать на МС++ давно не...

Debug assertion failed в MFC приложении - Visual C++
Здравствуйте народ. Прошу помощи. Столкнулся с проблемой Debug assertion failed. Не могу понять откуда что берётся и куда что девается....

1 файл ресурсов на 2 приложения в приложении MFC - Visual C++
Всем доброго времени суток! Такой вопрос: возможно ли сделать 1 файл ресурсов (строки на разных языках, иконки и т.п.) для 2-ух...

2
Alex5
1086 / 747 / 116
Регистрация: 12.04.2010
Сообщений: 1,908
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 / 0
Регистрация: 12.07.2013
Сообщений: 30
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++ - Visual C++
Добрый день, прошу вас о помощи! Задача заключается в следующем: необходимо создать приложение в котором будут показаны графики функций....

Построение графиков в MFC приложении Visual Studio. - Visual C++
Ребята, проверьте пожалуйста код программы. Задача построить график функции f(x)=sec x. Вроде бы все правильно, т.е. ошибок при...

Как из DLL вызвать консольное окно - Visual C++
Есть проект, в результате выполнения которого формируется DLL. Можно ли вызывать консольное окно из этого проекта? Если можно, то как?

Дочернее окно (MFC / C++) - Visual C++
Прощу помощи, перерыл весь интернет в поисках проблемы. Есть задание: "В созданном основном окне создать временное (POPUP) или...


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

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

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