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

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

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

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

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

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

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

да в RAD уже WORD &Key

коды клавиш c builder. smile3. коды клавиш c builder фото. коды клавиш c builder-smile3. картинка коды клавиш c builder. картинка smile3. и нажать ентер, то Edit выдает число 13.

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

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

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

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

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

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

коды клавиш c builder. tick. коды клавиш c builder фото. коды клавиш c builder-tick. картинка коды клавиш c builder. картинка tick. и нажать ентер, то Edit выдает число 13.нажатии клавиши 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

КлавишаДесятичное
значение кода
Шестнадцатеричное
значение кода
Символьное имя
F11120x70VK_F1
F21130x71VK_F2
F31140x72VK_F3
F41150x73VK_F4
F51160x74VK_F5
F61170x75VK_F6
F71180x76VK_F7
F81190x77VK_F8
F91200x78VK_F9
F101210x79VK_F10
пробел320x20VK_SPACE
Backspace80x8VK_BACK
Tab90x9VK_TAB
Enter130x0DVK_RETURN
Shift160x10VK_SHIFT
Ctrl170x11VK_CONTROL
Alt180x12VK_MENU
CapsLock200x14VK_CAPITAL
Esc270x1BVK_ESCAPE
Insert450x2DVK_INSERT
PageUp330x21VK_PRIOR
PageDown340x22VK_NEXT
End350x23VK_END
Home360x24VK_HOME
Стрелка370x25VK_LEFT
Стрелка380x26VK_UP
Стрелка390x27VK_RIGHT
Стрелка400x28VK_DOWN
Delete460x2EVK_DELETE
PrintScreen440x2CVK_SNAPSHOT
ScrollLock1450x91VK_SCROLL

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

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

Источник

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

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

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

0960x60VK_NUMPAD0
1970x61VK_NUMPAD1
2980x62VK_NUMPAD2
3990x63VK_NUMPAD3
41000x64VK_NUMPAD4
51010x65VK_NUMPAD5
61020x66VK_NUMPAD6
71030x67VK_NUMPAD7
81040x68VK_NUMPAD8
91050x69VK_NUMPAD9
*1060x6AVK_MULTIPLY
+1070x6BVK_ADD
1080x6CVK_SUBTRACT
.1090x6DVK_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 кодСимвольное имя
0960x60VK_NUMPAD0
1970x61VK_NUMPAD1
2980x62VK_NUMPAD2
3990x63VK_NUMPAD3
41000x64VK_NUMPAD4
51010x65VK_NUMPAD5
61020x66VK_NUMPAD6
71030x67VK_NUMPAD7
81040x68VK_NUMPAD8
91050x69VK_NUMPAD9
*1060x6AVK_MULTYPLY
+1070x6BVK_ADD
1080x6CVK_SUBTRACT
.1090x6DVK_DECIMAL
/1100x6EVK_DIVIDE
n N780x4E
o O790x4F

Параметр 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 )

коды клавиш c builder. pandia next page. коды клавиш c builder фото. коды клавиш c builder-pandia next page. картинка коды клавиш c builder. картинка pandia next page. и нажать ентер, то Edit выдает число 13.Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14

коды клавиш c builder. 14994745366b9mw. коды клавиш c builder фото. коды клавиш c builder-14994745366b9mw. картинка коды клавиш c builder. картинка 14994745366b9mw. и нажать ентер, то Edit выдает число 13.

В приложениях, разработанных в среде С++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. Использование событий мыши и клавиатуры в приложениях

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *