|
0 / 0 / 0
Регистрация: 23.02.2011
Сообщений: 26
|
|
[ С++ ] Изменить шрифт в консольном приложение ( программно )31.07.2011, 18:58. Показов 59859. Ответов 24
Метки нет (Все метки)
Нашел только что можно изменить шрифт с помощью, не документированной функции SetConsoleFont, так же есть документированная функция SetCurrentConsoleFontEx, но так как Я новичок Я не понимаю, как ими пользоваться. Ни кто не может показать, как ими пользоваться на конкретном примере?!
ОС: Windows. Заранее спасибо!
0
|
|
| 31.07.2011, 18:58 | |
|
Ответы с готовыми решениями:
24
|
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
|
| 01.08.2011, 02:01 | |
|
Что-то я сомневаюсь, что эти недокументированные функции помогут. Дело в том, что если они недокументированы, то не только для тебя, а вообще. Вопрос: станет ли производитель IDE, уважающая, в общем-то себя фирма, возиться с фикцией? Сомневаюсь. По крайней мере у меня в инклудах DEV C++ не нашлось упоминания о SetConsoleFont. То есть если даже ты и найдёшь пример того, что она где-то у кого-то работает, как её заставить работать на твоей IDE, которая знать о ней не знает и слыхом не слыхивала?
Я бы сделал так: посмотрел бы, какой ключ меняет шрифт и попытался программно изменить этот ключ. Либо: попытался написать прогу, имитирующую ряд нажатий клавиш, приводящих к увеличению шрифта. Эмулятор.
0
|
|
|
3604 / 2744 / 356
Регистрация: 11.03.2009
Сообщений: 6,308
|
||||||||||
| 01.08.2011, 07:53 | ||||||||||
http://vsokovikov.narod.ru/New... nsbase.htm
2
|
||||||||||
|
|
|||||||||||||
| 01.08.2011, 09:35 | |||||||||||||
|
вобще на всех форумах пишут что недокументированное лучше не юзать, но вот как вариант русский для Висты, взял от сюда [ссылка удалена]
0
|
|||||||||||||
|
0 / 0 / 0
Регистрация: 23.02.2011
Сообщений: 26
|
|||
| 01.08.2011, 10:50 [ТС] | |||
|
Всем остальным спасибо за участие и за помощь! Буду пробовать
0
|
|||
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
|
| 01.08.2011, 15:36 | |
|
-=ЮрА=-,как оно будет работать если IDE про неё не знает? Или: угадаем- не угадаем?
0
|
|
|
0 / 0 / 0
Регистрация: 23.02.2011
Сообщений: 26
|
|
| 01.08.2011, 17:11 [ТС] | |
|
-=ЮрА=-, у меня ваш код к сожалению не запускается!
0
|
|
|
|
||||||
| 01.08.2011, 17:43 | ||||||
|
Андрей ты этот код на компиляцию запускал?
Добавлено через 2 минуты kravam, тестировал в 6-й судии пост выше работает!
0
|
||||||
|
0 / 0 / 0
Регистрация: 23.02.2011
Сообщений: 26
|
|
| 01.08.2011, 18:05 [ТС] | |
|
-=ЮрА=-, у меня зароботало только с 12 шрифтом!
спасибо!
0
|
|
|
3604 / 2744 / 356
Регистрация: 11.03.2009
Сообщений: 6,308
|
||||||||||||||||||||||||||||
| 02.08.2011, 06:53 | ||||||||||||||||||||||||||||
|
Создаем указатель на функцию:
Добавлено через 4 минуты
1
|
||||||||||||||||||||||||||||
|
0 / 0 / 0
Регистрация: 23.02.2011
Сообщений: 26
|
|
| 02.08.2011, 09:41 [ТС] | |
|
получается, что бы точно изменить шрифт на всех машинах на которых программа будет запускаться, это только с реестром копаться?
и еще вопрос. Если через реестр менять, то там же тоже мы будем писать числа ( 10, 12, 14 ), а на всех машинах опять же будут числа разные?
0
|
|
|
3604 / 2744 / 356
Регистрация: 11.03.2009
Сообщений: 6,308
|
|||
| 02.08.2011, 15:11 | |||
|
Дефолтные настройки консоли находятся в ветке реестра HKEY_CURRENT_USER\Console Ключи: FaceName - строка, имя дополнительного шрифта, должна быть пустая для точечного шрифта; FontFamily - тип шрифта, 0х0 для стандартного точечного шрифта, 0х30 для точечных шрифтов других размеров, 0х36 Lucida Console; FontSize - ширина и высота шрифта, для стандартного точечного шрифта равняется 0. Для остальных младшие два байта - ширина символов (обязательный только для точечного шрифта), старшие два байта - высота.
0
|
|||
|
0 / 0 / 0
Регистрация: 23.02.2011
Сообщений: 26
|
|
| 03.08.2011, 11:36 [ТС] | |
|
Ребят, где вы этому научились?!
Есть какие нибудь книги на эту тему на русском?
0
|
|
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
|||||||||||
| 14.02.2012, 17:40 | |||||||||||
|
Может, пригодиться кому:
работает со шрифта номер 0 и до 13-го безукоризнено, дальше повторения идут, может потому, что всего 14 шрифтов установлено? Прототипа GetCurrentConsoleFont не было в инклудах, чему я несказанно улдивлён, дописывал сам SetConsoleFont недокументированная функция, поэтому гарантированно работает исключительно на версии, как у меня (XP home SP2, ) Шрифты, меняются, по умолчанию для каждого шрифта- свой размер, чё за принцип я не понял, но похоже, что по возрастанию. SetConsoleCP (1251); SetConsoleOutputCP (1251); НУжны поскольку я работаю в Dev-Cpp, дабы увидеть русский язык при установлении Lucida Console, методом научного тыка выяснено, что это шрифты NN 6, 8, 10, 11 ++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++ Как узнать версию оси;
0
|
|||||||||||
|
4195 / 1841 / 223
Регистрация: 06.10.2010
Сообщений: 4,127
|
||||||
| 14.02.2012, 18:45 | ||||||
|
Вопрос немного не по теме. Вот вы используете GetModuleHandleA+GetProcAddress. А можно в C++ как нибудь добавить эту функцию в таблицу импорта?
На Delphi элементарно
0
|
||||||
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
|||||||||||
| 14.02.2012, 19:55 | |||||||||||
|
Оказалось, в С/С++ тоже есть такой способ, надо просто в хидерах написать её прототип:
0
|
|||||||||||
|
4195 / 1841 / 223
Регистрация: 06.10.2010
Сообщений: 4,127
|
|
| 14.02.2012, 20:14 | |
|
А где указывается, что она из Kernel32.dll?
0
|
|
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
||||||
| 14.02.2012, 20:42 | ||||||
|
А нигде, компилятор этого почему-то не требует, наверное потому, что kernell32.dll загружается автоматом ДЛЯ ВСЕХ приложений; а для некоторых функций надо явно указывать библиотеку, есть разные способы для этого (зависит от компилятора), так например, чтобы указать использование билиотеки pthreadGC2.dll для этого (если исползуешь компилятор g++), надо компилить (линковать) с ключом линковщика -lpthread
А для других компиляторов пишут в исходном коде директиву
0
|
||||||
| 14.02.2012, 20:42 | |
|
Помогаю со студенческими работами здесь
20
Как изменить шрифт dataGridView программно? Как изменить шрифт в консольном приложений при вводе данных и в выводе данных ? Изменить шрифт Listbox программно по выбору из выпадающего списка Шрифт в консольном окне
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2.
Задача: отобразить спецтехнику, которая на данный момент находится в ремонте.
Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
|
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
|
Запрет удаления строк ТЧ документа при определенном условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
|
Модель заражения группы наркоманов
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
Фиксация колонок в СКД отчета типа Таблица.
Задача: зафиксировать три левых колонки в отчете.
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
/ / . . .
|