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

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

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.05.2009, 18:24   #1
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию Виртуальная клавиатура

Имеется: готовая (почти) виртуальная клавиатура, все кнопки рабочие (в смысле нажимаются). Теперь нужно сделать что бы при нажатии на клавишу в изображение NAMEIMG появлялось изображение клавиши. Это не проблема - NAMEIMG.Canvas.Draw(28*LettersCount ,0,ButtonA); А вот как сделать, что бы при CPSLCK = true изображения рисовались на 8 пикселей выше? Сразу приходит на ум код:
Код:
  If LettersCount<8 then
  Begin
   If Capslock = True  then Form1.NAMEIMG.Canvas.Draw(LettersCount*28,0,ButtonA);
   If Capslock = False then Form1.NAMEIMG.Canvas.Draw(LettersCount*28,8,ButtonA);
   Inc(LettersCount);
  End;
Но проблема в том, что существуе кнопка BCKSPC (да будет проклят её создатель), задача которой - стирать последнюю букву и уменьшать количество LetterCount на единицу. Вопрос - как её сделать?

P.S. У NAMEIMG transparent = true, на фоне - другая картинка.
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 10.05.2009, 19:38   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Код:
if key=backspace then
begin
   form1.nameimg.canvas.brush.color:=transparentcolor;
   form1.nameimg.canvas.fullrect(rect((letterscount-1)*28,0,lettercount*28,fontheight+8));
   dec(Lettercount)
end;
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 10.05.2009, 20:03   #3
DomiNick
Студент, не
Старожил
 
Аватар для DomiNick
 
Регистрация: 29.01.2009
Сообщений: 2,067
По умолчанию

Цитата:
А вот как сделать, что бы при CPSLCK = true изображения рисовались на 8 пикселей выше?
При включённом "Caps Lock"..? Почему тогда выше? Если там буквы, то надо просто заглавные буквы выводить)
Цитата:
Сразу приходит на ум код: ...
Только зачем там целых два "If"..?
I am the First of Cyber Evolution...
I am the First to Program your Future...
DomiNick вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Виртуальная клавиатура для браузера, несколько вопросов nnova Общие вопросы Delphi 2 19.12.2008 16:19
Виртуальная машина Linux в домене Stilet Linux (Ubuntu, Debian, Red Hat, CentOS, Mint) 2 09.04.2008 15:52
Что такое виртуальная машина? Amon Операционные системы общие вопросы 9 02.03.2008 21:58
Физическая, виртуальная память процесса!!!! metamfetamin Помощь студентам 2 07.11.2007 09:27
виртуальная функция? SERGOO Общие вопросы C/C++ 4 18.09.2007 21:43