Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Клуб программистов > Свободное общение
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.12.2012, 01:08   #1
vasya_2012
 
Регистрация: 15.12.2012
Сообщений: 5
По умолчанию Коды символов

Здравствуйте.
Я хочу создать свой шрифт, для этого использую программу FontCreator. Мне нужно что бы при нажатии клавишу "1" на экране появлялась "1", при нажатии клавиш "Shift + 1" на экране появлялась моя единица, при нажатии клавиш "CTRL + 1" на экране появлялась моя другая единица.
Подскажите пожалуйста, какие нужно использовать коды для этого.
Спасибо.
vasya_2012 вне форума Ответить с цитированием
Старый 15.12.2012, 12:21   #2
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,331
По умолчанию

Цитата:
Сообщение от vasya_2012 Посмотреть сообщение
Подскажите пожалуйста, какие нужно использовать коды для этого.
Никакие. Шрифт не имеет ничего общего с тем, при каких комбинациях что выводится на екран. То, что вам нужно это программа, которая при соотвествующих комбинациях будет показывать то что нужно нужным шрифтом.
waleri вне форума Ответить с цитированием
Старый 15.12.2012, 14:26   #3
vasya_2012
 
Регистрация: 15.12.2012
Сообщений: 5
По умолчанию

Цитата:
Сообщение от waleri Посмотреть сообщение
Никакие. Шрифт не имеет ничего общего с тем, при каких комбинациях что выводится на екран. То, что вам нужно это программа, которая при соотвествующих комбинациях будет показывать то что нужно нужным шрифтом.
В том-то всё и дело, что нужно чтобы была возможность набирать определенные символы к примеру в ворде или при создании pdf-файлов. Насколько я смог вникнуть в тему, то при нажатии на клавишу, отправляется код нажатого символа в виндовс, а виндовс отображает символ соответствующий полученному коду. К примеру, при нажатии на клавишу "1" отправляется код 31. Насколько я понял, то код клавиш "Shift + 1" это F031, но почему-то не работает. Возможно у меня просто мало знаний в данной теме.
vasya_2012 вне форума Ответить с цитированием
Старый 15.12.2012, 14:50   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

достаточно тогда просто custom font так называемого, с вашими спец символами и применять его когда надо.
Шифт+1 дает восклицательный знак.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 15.12.2012, 15:30   #5
vasya_2012
 
Регистрация: 15.12.2012
Сообщений: 5
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
достаточно тогда просто custom font так называемого, с вашими спец символами и применять его когда надо.
Шифт+1 дает восклицательный знак.
В первом посте написано что еще нужно и "Ctrl + 1".То есть три варианте единицы, получается что единица в трёх видах, т.е. просто клавиша "1", "Shift + 1" и "Ctrl + 1".
vasya_2012 вне форума Ответить с цитированием
Старый 15.12.2012, 16:38   #6
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,331
По умолчанию

Цитата:
Сообщение от vasya_2012 Посмотреть сообщение
то при нажатии на клавишу, отправляется код нажатого символа в виндовс, а виндовс отображает символ соответствующий полученному коду
Windows ничего не отображает. Отображает конкретное приложение.
waleri вне форума Ответить с цитированием
Старый 15.12.2012, 16:44   #7
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Цитата:
Сообщение от vasya_2012 Посмотреть сообщение
В том-то всё и дело, что нужно чтобы была возможность набирать определенные символы к примеру в ворде или при создании pdf-файлов. Насколько я смог вникнуть в тему, то при нажатии на клавишу, отправляется код нажатого символа в виндовс, а виндовс отображает символ соответствующий полученному коду. К примеру, при нажатии на клавишу "1" отправляется код 31. Насколько я понял, то код клавиш "Shift + 1" это F031, но почему-то не работает. Возможно у меня просто мало знаний в данной теме.
Не так.
Какой бы шрифт Вы ни использовали, кодом "1" всегда будет 31h.
А для того, чтобы Вы могли выводить единицу разными фонтами, программа, которая выводит символы, должна иметь несколько состояний, каждое из которых соответствует нужному фонту.
Вот, исходя из этого принципа и следуцет проектировать/настраивать программу.

Ваша идея связать режим переключения фонтов с клавишами Shift и Ctrl неверная, т.к. разрушает основные принципы работы клавиатуры.
Постарайтесь придумать такой интерфейс пользователя, который бы не конфликтовал с принципом работы клавиатуры.
Поверьте, иначе Вы получите столько глюков, сколько просто не способны вообразить. Клавиатура будет работать совершенно непредсказуемо, и Вы даже не будете понимать, почему.
s-andriano вне форума Ответить с цитированием
Старый 15.12.2012, 17:39   #8
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Сообщение от vasya_2012 Посмотреть сообщение
В первом посте написано что еще нужно и "Ctrl + 1".То есть три варианте единицы, получается что единица в трёх видах, т.е. просто клавиша "1", "Shift + 1" и "Ctrl + 1".
Ctrl+1 не имеет за собою символа.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 15.12.2012, 17:59   #9
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,331
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
Ctrl+1 не имеет за собою символа.
Почему нет... делайте свою клавиатурную раскладку и вперед..
waleri вне форума Ответить с цитированием
Старый 15.12.2012, 18:22   #10
vasya_2012
 
Регистрация: 15.12.2012
Сообщений: 5
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
Ctrl+1 не имеет за собою символа.
При нажатии на клавиши отправляется код нажатых(ой) клавиш(и), а виндовс показывает соответствующий символ полученного кода, если таковой есть в используемом шрифте. Но мне нужно добавить в шрифт символы соответствующий кодам "Shift + 1", "Ctrl + 1". В случае с "Shift + 1" я просто перерисую символ. Но "Shift + 1", "Ctrl + 1" были приведены как пример. Мне нужно не только одна единица, но и другие символы, при нажатии на которых появляется нормальный символ, а также их варианты с нажатым шифтом и вариант с нажатым контролом.
vasya_2012 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Получить коды символов. danrusm Общие вопросы .NET 1 23.09.2012 16:27
Unicode коды символов в символ TzX Общие вопросы по Java, Java SE, Kotlin 1 02.05.2012 16:18
шестнадцатиричные коды символов hobtorkins Общие вопросы Delphi 1 23.12.2011 15:19
коды символов следующие за введенными strateg66 Помощь студентам 9 11.10.2009 19:43
Коды символов SeregaIRK Общие вопросы Delphi 2 10.07.2008 19:33