Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.65/26: Рейтинг темы: голосов - 26, средняя оценка - 4.65
4 / 4 / 2
Регистрация: 25.11.2011
Сообщений: 56

CONSOLE_FONT_INFOEX

10.02.2012, 13:22. Показов 5611. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!
Набросал код, не работает:
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 <Windows.h>
#include <Wincon.h>
#include <iostream>
 
using namespace std;
 
int main()
  {  
      CONSOLE_FONT_INFOEX f;
      COORD c;
      
      c.X=10; c.Y=8;
      
      f.cbSize=15;
      f.dwFontSize=c;
      f.FontFamily=FF_SCRIPT;
      f.FontWeight=400;
      f.FaseName="Arial";   
          
       SetConsoleTitle  ("Hellow, world");
       
     SetCurrentConsoleFontEx (GENERIC_WRITE, FALSE, f);
     cout << "Hellow, world!"<<endl;   
    
       system("pause");
  return 0;
}
Ошибки следующие:
Code
1
2
3
9 Test1_windows.cpp `CONSOLE_FONT_INFOEX' undeclared (first use this function)
       (Each undeclared identifier is reported only once for each function it appears in.) 
22Test1_windows.cpp `SetCurrentConsoleFontEx' undeclared (first use this function)
Документация к использованным функциям тут (CONSOLE_FONT_INFOEX) и тут (SetCurrentConsoleFontEx)

Я новичёк в этом деле, не понимаю, что у меня не так. Прошу помочь.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.02.2012, 13:22
Ответы с готовыми решениями:

Каково назначение члена структуры CONSOLE_FONT_INFOEX?
typedef struct _CONSOLE_FONT_INFOEX { ULONG cbSize; DWORD nFont; COORD dwFontSize; UINT FontFamily; UINT FontWeight; ...


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

Или воспользуйтесь поиском по форуму:
13
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
10.02.2012, 13:31
Цитата Сообщение от Boogi43 Посмотреть сообщение
Я новичёк в этом деле, не понимаю, что у меня не так. Прошу помочь.
- смотри єтот пост, функция

Цитата Сообщение от Boogi43 Посмотреть сообщение
SetCurrentConsoleFontEx
недокументирована, поэтому чтобы её попользоваться нужно поизголяться
[ С++ ] Изменить шрифт в консольном приложение ( программно )

Добавлено через 54 секунды
Boogi43, и вообще попробуй так
SetConsoleFont(GetStdHandle(STD_OUTPUT_H ANDLE),14);

Цитата Сообщение от Boogi43 Посмотреть сообщение
CONSOLE_FONT_INFOEX f;
* * * COORD c;
c.X=10; c.Y=8;
f.cbSize=15;
* * * f.dwFontSize=c;
* * * f.FontFamily=FF_SCRIPT;
* * * f.FontWeight=400;
* * * f.FaseName="Arial"; *
- без всего этого
1
4 / 4 / 2
Регистрация: 25.11.2011
Сообщений: 56
10.02.2012, 13:40  [ТС]
SetConsoleFont(GetStdHandle(STD_OUTPUT_H ANDLE),14);

А можно подробное про это? Что к чему здесь?
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
10.02.2012, 13:47
GetStdHandle - нормально на русском описана здесь
SetConsoleFont также как и SetConsoleFontEx недокументирована и требует всё тех же ухищрений, но чуть меньших чем SetConsoleFontEx

Добавлено через 1 минуту
Boogi43, зачем тебе вообще понадобилась функция SetConsoleFont(Ex)?
Возможно услышав проблемму смогу подсказать выход из неё без использования недокументированных функций
0
64 / 63 / 6
Регистрация: 02.09.2008
Сообщений: 181
10.02.2012, 13:47
Вот пример:
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 <Windows.h>
#include <Wincon.h>
#include <iostream>
 
using namespace std;
 
int main()
{
    CONSOLE_FONT_INFOEX cfon;
    ZeroMemory(&cfon, sizeof(CONSOLE_FONT_INFOEX));
    cfon.cbSize=sizeof(CONSOLE_FONT_INFOEX);
    cfon.nFont=6;
    cfon.dwFontSize.X=7;
    cfon.dwFontSize.Y=12;
    cfon.FontFamily=54; // Lucida Console
    cfon.FontWeight=400;
    lstrcpyW(cfon.FaceName, L"Lucida Console");
    SetCurrentConsoleFontEx(GetStdHandle(STD_OUTPUT_HANDLE), false, &cfon);
 
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
 
    cout << "Привет, мир!"<<endl; 
 
    system("pause");
    return 0;
}
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
10.02.2012, 13:55
Remarks
To obtain the size of the font, pass the font index to the GetConsoleFontSize function.
Requirements
Minimum supported client Windows Vista (на XP даже и не стоит ожидать отработки)
Minimum supported server Windows Server 2008
Header
Wincon.h (include Windows.h)


Boogi43, для простоты запиши свой код так + вручную выполни настройку шрифта приложения - вот здесь показал как это делать Создание файла в UTF-8 кодировке
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <windows.h>
#include <iostream>
using namespace std;
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    cout << "Привет, мир!"<<endl; 
    system("pause");
    return 0;
}
Да и вообще руссифицировать можно с помощью system("chcp 1251") и ещё кучи способов...
0
4 / 4 / 2
Регистрация: 25.11.2011
Сообщений: 56
10.02.2012, 14:33  [ТС]
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
Boogi43, зачем тебе вообще понадобилась функция SetConsoleFont(Ex)?
Возможно услышав проблемму смогу подсказать выход из неё без использования недокументированных функций
Нужно написать функцию, создающее окно в консоле, что-то типо турбо паскаля 7.0, со всеми наворотами (типо настроек размера окна, шрифта и т.д.) Для начала требуется научиться управлять шрифтом, фоном, размером окна. Но какую бы функцию не пробывал, выдаёт ошибку, не понимаю, что с ними делать.
Вот ещё одна ошибка

expected primary-expression before "const"

Ругается
C++
1
 b=SetConsoleWindowInfo(GENERIC_READ, TRUE, const k*);
код программы:
Code
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
#include <Windows.h>
#include <Wincon.h>
#include <iostream>
 
using namespace std;
 
int main()
  {  
          
       _SMALL_RECT k;
       bool b;
       k.Left=1;
       k.Top=1;
       k.Right=200;
       k.Bottom=200;
       
       
       b=SetConsoleWindowInfo(GENERIC_READ, TRUE, const k*Small_RECT );
 
 
          
       SetConsoleTitle  ("Hellow, world");
       
       cout << "Hellow, world!"<<endl;   
    
       system("pause");
  return 0;
}
Добавлено через 2 минуты
Ругается на ваш код
`CONSOLE_FONT_INFOEX' undeclared (first use this function)
10 `;' before "cfon" и т.д.
Так же ругался и на мой код
0
64 / 63 / 6
Регистрация: 02.09.2008
Сообщений: 181
10.02.2012, 15:27
Цитата Сообщение от Boogi43 Посмотреть сообщение
Ругается на ваш код `CONSOLE_FONT_INFOEX' undeclared (first use this function) 10 `;' before "cfon" и т.д.
У меня на Visual C++ 2008 Express Edition не ругается
Миниатюры
CONSOLE_FONT_INFOEX  
0
64 / 63 / 6
Регистрация: 02.09.2008
Сообщений: 181
10.02.2012, 15:30
Сама програмака
Миниатюры
CONSOLE_FONT_INFOEX  
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
10.02.2012, 15:57
Цитата Сообщение от Boogi43 Посмотреть сообщение
Нужно написать функцию, создающее окно в консоле, что-то типо турбо паскаля 7.0, со всеми наворотами (типо настроек размера окна, шрифта и т.д.) Для начала требуется научиться управлять шрифтом, фоном, размером окна. Но какую бы функцию не пробывал, выдаёт ошибку, не понимаю, что с ними делать.
- так сделай консоль с поддержкой MFC там уже есть готовые палитра цветов, диалог выбора шрифта, зачем мучаться?

Цитата Сообщение от QWAN Посмотреть сообщение
У меня на Visual C++ 2008 Express Edition не ругается
- ты забыл сказать что в Висте или 7-ке работаешь,а
Цитата Сообщение от QWAN Посмотреть сообщение
CONSOLE_FONT_INFOEX cfon;
- доступна лишь в них, кому писал???
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
Minimum supported client Windows Vista
1
64 / 63 / 6
Регистрация: 02.09.2008
Сообщений: 181
10.02.2012, 16:02
Да у меня 7 Windows, на XP не проверял.
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
10.02.2012, 16:07
Цитата Сообщение от QWAN Посмотреть сообщение
Да у меня 7 Windows, на XP не проверял.
- и не нужно этого делать во первых написано же в самом MSDN что только с Висты работает, во вторых я уже компилировал твой код на ХП и выдало что структура CONSOLE_FONT_INFOEX необъявлена и такой функции нет SetCurrentConsoleFontEx
0
4 / 4 / 2
Регистрация: 25.11.2011
Сообщений: 56
10.02.2012, 23:19  [ТС]
ааа, сразу бы сказали что эти функции доступных только в visual ой я дураак, я ж на dev-C++ пишу

Добавлено через 7 минут
На счёт MFC, нельзя, задача в том, что бы проект можно было скомпилировать на любом компиляторе. Операционная система windows 7.
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
10.02.2012, 23:40
Boogi43, загляни в этот топик возможно что нибудь почерпнёшь
Русский текст без танцев с бубнами
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Ответ Создать тему
Новые блоги и статьи
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru