коды клавиш c builder

Код клавиши Enter на калькуляторе

и нажать ентер, то Edit выдает число 13.

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Подскажите аски код клавиши ENTER
Хотел написать программу, которая вводит строки из файла и выводит их потом построчно, но для.

Нажатие клавиши enter
Нужно, чтобы по нажатию клавиши Enter цикл завершался, и началаось действие, что находится под.

Добавлено через 1 минуту

да в RAD уже WORD &Key

Добавлено через 6 минут

вот это условие почему то работает. нажимаю «*» на калькуляторе, все выполняется.

Добавлено через 1 минуту

Добавлено через 1 минуту

хм, точняк. странно, до этого писал так :

Помощь в написании контрольных, курсовых и дипломных работ здесь.

нажатии клавиши Enter
всем с новым годом нажатии клавиши Enter на форма1 есть поля2 хочу чтоб после ввода.

Имитация клавиши Enter
Добрый день Товарищи программисты. Пишу скрипт с модулем Device::SerialPort. Простая программа.

Нажатие клавиши ENTER
Всем привет! ____________ Возможно ли реализовать имитацию нажатия клавиши в другом приложении.

Источник

как в C++ Builder 6 программно нажать какуюнибудь кнопку цифру или букву?

можно
1.Как программно сымитировать нажатие клавиш CTRL+V

// Напишите следующий код:
BYTE keys[256];
GetKeyboardState(keys);
keys[17] = 128;
SetKeyboardState(keys);
keybd_event(86, 0, 0, 0);
// ПРИМЕЧАНИЕ: с помощью это примера можно сымитировать
// и нажатие других комбинации, надо знать только код клавиш
FAQ с сайта Borland X Portal

2.Нажатие клавиши «а»

// Напишите следующий код:
keybd_event(‘A’, 0,0,0);
keybd_event(‘A’, 0,KEYEVENTF_KEYUP,0);

3.Минимизация всех окон (Win+M)

// Напишите следующий код:
keybd_event(VK_LWIN, 0, 0, 0);
keybd_event(‘M’, 0, 0, 0);
keybd_event(‘M’, 0, KEYEVENTF_KEYUP,0);
keybd_event(VK_LWIN, 0, KEYEVENTF_KEYUP,0);

4.Имитация нажатия Alt+Tab

// Напишите следующий код:
keybd_event(VK_MENU, 0, 0, 0);
keybd_event(VK_TAB, 0, 0, 0);
keybd_event(VK_TAB, 0, KEYEVENTF_KEYUP,0);
keybd_event(VK_MENU, 0, KEYEVENTF_KEYUP,0);

5.Имитация нажатия CapsLock

// Напишите следующий код:
keybd_event(VK_CAPITAL, 0, 0, 0);
keybd_event(VK_CAPITAL, 0, KEYEVENTF_KEYUP,0);

6.Имитация нажатия PrintScreen

// Напишите следующий код:
keybd_event(VK_SNAPSHOT, 0, 0, 0);
keybd_event(VK_SNAPSHOT, 0, KEYEVENTF_KEYUP,0);

7.Имитация нажатия PrintScreen только для формы

// Напишите следующий код:
keybd_event(VK_SNAPSHOT, 1, 0, 0);
keybd_event(VK_SNAPSHOT, 1, KEYEVENTF_KEYUP,0);

Источник

Событие OnKeyDown

Для большинства клавиш имеются также символьные имена API Windows. Коды клавиш и соответствующих им символьных имен приведены в табл. 22.2.

Таблица 22.2. Коды клавиш и соответствующих им символьных имен

На основном поле клавиатуры

На дополнительном (правом цифровом) поле клавиатуры, при выключенном индикаторе NumLock

Клавиша Десятичное
значение кода
Шестнадцатеричное
значение кода
Символьное имя
F1 112 0x70 VK_F1
F2 113 0x71 VK_F2
F3 114 0x72 VK_F3
F4 115 0x73 VK_F4
F5 116 0x74 VK_F5
F6 117 0x75 VK_F6
F7 118 0x76 VK_F7
F8 119 0x77 VK_F8
F9 120 0x78 VK_F9
F10 121 0x79 VK_F10
пробел 32 0x20 VK_SPACE
Backspace 8 0x8 VK_BACK
Tab 9 0x9 VK_TAB
Enter 13 0x0D VK_RETURN
Shift 16 0x10 VK_SHIFT
Ctrl 17 0x11 VK_CONTROL
Alt 18 0x12 VK_MENU
CapsLock 20 0x14 VK_CAPITAL
Esc 27 0x1B VK_ESCAPE
Insert 45 0x2D VK_INSERT
PageUp 33 0x21 VK_PRIOR
PageDown 34 0x22 VK_NEXT
End 35 0x23 VK_END
Home 36 0x24 VK_HOME
Стрелка 37 0x25 VK_LEFT
Стрелка 38 0x26 VK_UP
Стрелка 39 0x27 VK_RIGHT
Стрелка 40 0x28 VK_DOWN
Delete 46 0x2E VK_DELETE
PrintScreen 44 0x2C VK_SNAPSHOT
ScrollLock 145 0x91 VK_SCROLL

Параметр Shift является множеством, которое может быть пустым или включать символьные значения, описываемые в табл. 22.3.

Таблица 22.3. Символьные значения Shift

Источник

Borland C++ Builder 6 для начинающих (Статья одиннадцатая)

В этой статье рассказывается о событиях визуальных компонентах

СОБЫТИЯ КОМПОНЕНТОВ
Мы неоднократно рассматривали применение различных событий компонентов в предыдущих примерах программ. Настало время рассмотреть их отдельно. В табл. 1 приведены основные события компонентов и дано описание моментов, когда они происходят.

0 96 0x60 VK_NUMPAD0
1 97 0x61 VK_NUMPAD1
2 98 0x62 VK_NUMPAD2
3 99 0x63 VK_NUMPAD3
4 100 0x64 VK_NUMPAD4
5 101 0x65 VK_NUMPAD5
6 102 0x66 VK_NUMPAD6
7 103 0x67 VK_NUMPAD7
8 104 0x68 VK_NUMPAD8
9 105 0x69 VK_NUMPAD9
* 106 0x6A VK_MULTIPLY
+ 107 0x6B VK_ADD
108 0x6C VK_SUBTRACT
. 109 0x6D VK_DECIMAL
/ 110
Таблица1

Событие
Когда происходит событие
OnActivate При активизации объекта
OnCanResize При изменении размеров
OnContextPopup При вызове контекстного меню
OnClick По щелчку мыши на компоненте и при другой активизации компонента
OnClose При закрытии
OnDblClick По двойному щелчку мыши на компоненте
OnChanqe После изменения графического объекта
OnDragDrop В момент отпускания перетаскиваемого компонента над данным компонентом
OnDragOve Когда пользователь перемещает перетаскиваемый объект над компонентом
OnEndDraq В момент прерывания или окончания перетаскивания компонента
OnEnter В момент получения элементом Фокуса
OnExit В момент потери элементом фокуса
OnKeyDown При нажатии пользователем любой клавиши
OnKeyPress При нажатии пользователем клавиши символа
OnKeyUp При отпускании пользователем любой клавиши
OnMouseUp В момент нажатия пользователем клавиши мыши над компонентом
OnMouseMove При перемещении курсора мыши над компонентом
OnPaint При получении сообщения Windows о необходимости перерисовать изображение
OnProgress Во время медленных процессов изменения графического изображения
OnStartDraq Когда пользователь начал перетаскивание объекта
OnEnter При вводе
OnExit При выходе

ShowMessage(«Событие OnClick произошло в «+((TControl *)Sender)->Name);

Табл.2.1 На основном поле клавиатуры

Табл.2.2 На дополнительном поле клавиатуры
при выключенном индикаторе NumLock

Клавиша Десят. код HEX код Символьное имя
0 96 0x60 VK_NUMPAD0
1 97 0x61 VK_NUMPAD1
2 98 0x62 VK_NUMPAD2
3 99 0x63 VK_NUMPAD3
4 100 0x64 VK_NUMPAD4
5 101 0x65 VK_NUMPAD5
6 102 0x66 VK_NUMPAD6
7 103 0x67 VK_NUMPAD7
8 104 0x68 VK_NUMPAD8
9 105 0x69 VK_NUMPAD9
* 106 0x6A VK_MULTYPLY
+ 107 0x6B VK_ADD
108 0x6C VK_SUBTRACT
. 109 0x6D VK_DECIMAL
/ 110 0x6E VK_DIVIDE
n N 78 0x4E
o O 79 0x4F

Параметр Shift является множеством, которое может быть пустым или включать символьные значения, описываемые в табл. 3.

Таблица 3

Символьное значение
Назначение
ssShift Нажата или отпущена клавиша Shift
ssAlt Нажата или отпущена клавиша Alt
ssCtrl Нажата или отпущена клавиша Ctrl

Label1->Caption = «Было событие OnClick»;

Этот код программы позволит изменять свойство Caption компонента на сообщение о возникновении события OnClick на форме приложения.
Аналогично введите для формы Form1 код обработки события KeyDown :

if(Shift.Contains(ssAlt)) Label1->Caption = «Alt»;
if(Shift.Contains(ssCtrl)) Label1->Caption = «Ctrl»;
if(Shift.Contains(ssShift)) Label1->Caption = «Shift»;
switch (Key)
<
case VK_INSERT: Label1->Caption = «Insert»; break;
case VK_CAPITAL: Label1->Caption = «CapsLock»; break; case VK_NUMLOCK: Label1->Caption = «NumLock»; break;
>

и код обработки события KeyPress :

switch (Key)
<
case ‘ ‘: Label1->Caption = «Был нажат пробел»;
break;
default : Label1->Caption = Key;
break;
>

Теперь запустите приложение на выполнение и нажимайте любые клавиши на клавиатуре, а также пощелкайте левой кнопкой мышки по форме приложения. В результате вы увидите реакцию программы на ваши действия.
Событие OnExit наступает в момент потери элементом фокуса при его переключении на другой элемент. Это событие не наступает при переключениях между формами или между приложениями. Значение свойства ActiveControl изменяется прежде, чем происходит событие OnExit. При переключениях между элементами, расположенными в разных контейнерах, например, на разных панелях, событие OnExit сначала наступает для элемента, а потом для содержащего его контейнера. Это противоположно последовательности событий OnEnter, которые при переключении из другого контейнера на компонент данного контейнера наступают сначала для контейнера, а потом для компонента.
Создайте новое приложение и поместите на него три компонента Edit из закладки Standard. Создайте обработчик события OnEnter для компонента Edit2 и вставьте в него программный код:

ShowMessage(«Фокус на элементе»);

Теперь создайте обработчик события OnExit для этого же компонента и вставьте в него программный код:

Запустите приложение и нажимайте клавишу табуляции. Фокус будет переключаться между компонентами Edit, и при переходе через Edit2 на экране будет формироваться сообщение о состоянии фокуса.
Далее рассмотрим события, связанные с работой мыши.
Событие OnMouseDown наступает в момент нажатия пользователем клавиши мыши над компонентом. Имеется также парное к нему событие OnMouseUp, наступающее при отпускании нажатой кнопки мыши над объектом.
Обработка событий OnMouseDown и OnMouseUp используется для операций, требуемых при нажатии и отпускании пользователем какой-либо кнопки мыши. Обработчики этих событий имеют параметры Sender, Shift, Button, X и Y. С первыми двумя параметрами мы уже знакомы из описания предыдущих событий. Значения параметра Button определяют, какая кнопка мыши нажата: mbLeft — левая, mbRight — правая, mbMiddle — средняя. Параметры X и Y определяют координаты указателя мыши в клиентской области компонента.
Создайте новое приложение и поместите на его форму два компонента Label. Для формы Forml создайте обработчик события OnMouseDown и введите в него следующие строки программного кода:

if(Button == mbLeft) Label1->Caption = «Нажата левая кнопка мыши»;
if(Button == mbRight) Label1->Caption = «Нажата правая кнопка мыши»;
if(Button == mbMiddle) Label1->Caption = «Нажата средняя кнопка мыши»;
Label2->Caption = «Координаты мыши: X=»+string(X)+» Y=»+String(Y);

Запустите приложение и пощелкайте разными кнопками мыши на его форме. Вы увидите сообщения программы о ваших действиях и координаты курсора мыши.
Событие OnMouseMove наступает при перемещении курсора мыши над компонентом.
Обработчик события OnMouseMove вставляется в программу, если необходимо произвести какие-то операции при перемещении курсора мыши над компонентом. Параметр Shift, являющийся множеством, содержит элементы, позволяющие определить, какие кнопки мыши и вспомогательные клавиши (Shift, Ctrl или Alt) нажаты в этот момент. Параметры X и Y определяют координаты указателя мыши в клиентской области компонента.
Добавьте в предыдущую программу обработчик события OnMouseMove для формы Forml и вставьте в него следующую строку программного кода:

Label2->Caption = «Координаты мыши: X=»+String(X)+» Y=»+Strlng(Y);

Вновь запустите приложение и проверьте, как ведет себя программа, когда вы перемещаете курсор мыши над формой и другими компонентами.
Следующие описываемые события относятся к графическим компонентам и перемещению объектов.
Событие OnChange связано с графическим компонентом канвы (рамки) и наступает после изменения графического объекта. Обработчик события OnChange должен осуществить необходимые операции при изменении графического объекта и отразить его новые установки. Событие происходит сразу после изменения изображения на канве. При вызове любого метода рисования осуществляется следующая последовательность операций:
• происходит событие OnChanging;
• вызванный метод канвы TCanvas осуществляет изменения в изображении;
• наступает событие OnChange.
Событие канвы OnChange наступает при изменении именно самого изображения, а не свойств канвы. Такие свойства канвы, как объекты Font (шрифт). Brush (кисть) и Реп (перо), имеют свои собственные события OnChange.
Событие OnPaint наступает, когда приходит сообщение Windows о необходимости перерисовать испорченное изображение. Изображение может испортиться из-за временного перекрытия данного окна другим окном того же или постороннего приложения. Обработчик данного события должен перерисовать изображение. При перерисовке изображения канвы Canvas можно использовать свойство ClipRect, которое указывает область канвы, внутри которой изображение испорчено.
События OnProgress наступают во время медленных процессов изменения графического изображения, таких как загрузка, сохранение, трансформация. Заготовка его обработчика приведена ниже:

void __fastcall TForml::
Image1Progress(T0bject *Sender, TProgressStage Stage, BYTE PercentDone, bool RedrawNow, const TRect &R, const AnsiString Msg)
<
>

Таблица 4

Значение Описание
dsDragEnter Курсор мыши входит в пределы компонента
dsDragMove Курсор мыши перемещается в пределах компонента
dsDragLeave Курсор мыши выходит за пределы компонента

Источник

Основы программирования в среде C++Builder (стр. 11 )

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14

В приложениях, разработанных в среде С++Builder, можно непосредственно производить обработку соответствующих сообщений WM_*. Однако среда С++Builder упрощает обработку аппаратного ввода для визуальных компонентов с помощью механизма событий. Как уже отмечалось выше, все визуальные компоненты (наследники TControl) имеют возможность обработки событий от мыши. Все же оконные компоненты (наследники TWinControl) имеют также возможность обработки событий от клавиатуры. Рассмотрим основные из этих событий более подробно.

6.1. Интерфейс работы с мышью в C++Builder

Событие void TControl::OnMouseUp (__fastcall * (__closure)(TObject* Sender, TMouseButton Button, TShiftState Shift, int X, int Y)) возникает при отпускании кнопки мыши. Параметры аналогичны событию OnMouseDown.

Событие void TControl::OnDblClick (__fastcall * (__closure)(TObject* Sender)) возникает при двойном нажатии левой кнопки мыши над объектом Sender. Данное событие доступно только для компонентов с установленным флагом csDoubleClicks в свойстве ControlStyle. В противном случае двойное нажатие будет интерпретироваться как два одинарных нажатия кнопки мыши.

Событие void TControl::OnClick (__fastcall * (__closure)(TObject* Sender)) возникает когда пользователь выполняет действие “click” (щелчок) над объектом Sender. Обычно это происходит при нажатии и отпускании левой кнопки мыши над компонентом. Однако к аналогичному результату приводят и другие действия пользователя. Например, для кнопки это нажатие клавиши “Spacebar” если кнопка находилась в фокусе ввода, для кнопки-переключателя (“CheckBox”) – изменение значения свойства Checked. Таким образом, данное событие связано не только с обработкой сообщений от мыши.

6.2. Интерфейс работы с клавиатурой в C++Builder

Событие void TWinControl::OnKeyUp (__fastcall * (__closure)(TObject* Sender, unsigned short &Key, TShiftState Shift)) возникает при отпускании ранее нажатой клавиши на клавиатуре. Параметры аналогичны предыдущему сообщению.

Событие void TWinControl::OnKeyPress (__fastcall * (__closure)(TObject* Sender, char &Key)) возникает при нажатии и отпускании алфавитно-цифровой клавиши на клавиатуре. Параметр Key содержит ASCII символ, сгенерированный в результате нажатия клавиши. Заметим, что нажатие функциональных клавиш, таких как Ctrl или F10 не приводит к генерации данного события. Кроме того, параметр Key будет всегда содержать получившийся ASCII код, независимо от способа его получения. Например, нажатие комбинации клавиш Shift-‘S’ при выключенном режиме CapsLock или клавиши ‘S’ при включенном приведут к генерации этого события с ASCII кодом ‘S’. Причем нажатие клавиши Shift не приведет к генерации OnKeyPress. Аналогично предыдущим событиям, параметр Key передается по ссылке и может быть изменен в обработчике. Таким образом можно, например, производить фильтрацию ввода и ограничить набор доступных для ввода символов.

При обработке событий от клавиатуры для формы есть один нюанс. Напомним, что события от клавиатуры генерируются именно для того компонента, который имеет фокус ввода. Таким образом, клавиатурные события для формы будут сгенерированы только в том случае, если ни один компонент на ней не имеет фокуса ввода. Однако существует специальное свойство KeyPreview компонента TForm. Если оно содержит значение true, то все клавиатурные события будут сначала сгенерированы для формы, владеющей компонентом с фокусом ввода, а потом повторно сгенерированы для этого компонента.

6.3. Пример использования событий мыши и клавиатуры в C++Builder

Рассмотрим небольшой пример, показывающий практическое применение всех рассмотренных выше событий. Форма содержит компонент TestStringGrid типа TStringGrid, для которого определены обработчики OnMouseDown, OnMouseUp и OnMouseMove. Обработчики этих событий реализуют возможность обмена содержимого ячеек. Для этого необходимо, нажав клавиши Ctrl и Alt и удерживая правую кнопку мыши, перетащить одну ячейку решетки на место другой. Также на форме содержится компонент TestMemo типа TMemo, для которого определен обработчик OnKeyDown. В данном обработчике реализованы следующие действия: удаление текущей строки при нажатии комбинации Ctrl-Y, выделение всего текста при нажатии комбинации Ctrl-A и изменение типа выравнивания текста при нажатии клавиши F2. На форме содержится компонент TestEdit типа TEdit, для которого определен обработчик OnKeyPress. Данный обработчик позволяет вводить в поле ввода только цифры и буквы для шестнадцатеричного представления числа. Кроме того, ввод возможен как в русской, так и в английской раскладке и в любом регистре. Во всех случаях ввод будет преобразован в прописные латинские символы. А для самой формы определен обработчик OnKeyUp, который позволяет завершить работу приложения при нажатии комбинации клавиш Ctrl-Alt-Q. Свойство KeyPreview должно быть установлено в true. Ниже приведен исходный код данного примера.

Листинг 6.1. Использование событий мыши и клавиатуры в приложениях

Источник

Читайте также:  Как уменьшить задержку в играх
Обучающий проект