Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.53/19: Рейтинг темы: голосов - 19, средняя оценка - 4.53
0 / 0 / 0
Регистрация: 13.02.2012
Сообщений: 26

Как можно присвоить клавишу к пунктам MainMenu

02.03.2012, 21:10. Показов 3811. Ответов 26
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ка можно присвоить клавишу к пунктам MainMenu?
Например: в MainMenu есть пункты Новая игра и Выход я хочу чтобы действия этих пунктов осуществлялись при нажатии клавиш F2 и Esc. Подскажите как это можно реализовать?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
02.03.2012, 21:10
Ответы с готовыми решениями:

Как обратиться к пунктам в MainMenu в конструкции IF Then Else?
Народ как обратиться к пункты в MainMenu в конструкции IF Then Else и указать что я нажимаю на пункт в MainMenu Form2.N112Click)

Как назначить ShortCut динамически создаваемым пунктам меню MainMenu
Привет всем. Возле программы есть пользовательская папка с текстовыми файлами. При запуске проги происходит создание пользовательского...

Сделать неактивной клавишу MainMenu
Как сделать клавишу MainMenu неактивной при открытии формы?

26
5 / 5 / 2
Регистрация: 12.02.2012
Сообщений: 44
02.03.2012, 21:43
C++
1
2
#define VK_F2 0x71
#define VK_ESCAPE 0x1B
C++
1
2
3
4
5
void __fastcall TForm1::N9Click(TObject *Sender)
{
//нажали кнопку "игра" в меню
игра началась...
}
На форме1 в Properties - KeyPrewiew=true

потом выбираешь Events - OnKeyUp и в пустой ячейке справа даблклик...
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void __fastcall TForm1::FormKeyUp(TObject *Sender, WORD &Key,
      TShiftState Shift)
{
if (Key==VK_F2) 
{
ShowMessage("нажали f2");
N9Click->Click();
}
if (Key==VK_ESCAPE)
{
ShowMessage(" нажали Esc");
N*Click->Click();// вместо * номер кнопки... по аналогии как выше...
}
}
0
0 / 0 / 0
Регистрация: 13.02.2012
Сообщений: 26
02.03.2012, 22:17  [ТС]
Цитата Сообщение от Limit-ED-itioN Посмотреть сообщение
#define VK_F2 0x71
#define VK_ESCAPE 0x1B

C++
1
2
3
4
5
6
void __fastcall TForm1::N9Click(TObject *Sender)
{
//нажали кнопку "игра" в меню
игра началась...
}
//---------------------------------------------------------------------------
На форме1 в Properties - KeyPrewiew=true

потом выбираешь Events - OnKeyUp и в пустой ячейке справа даблклик...
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//---------------------------------------------------------------------------
 
void __fastcall TForm1::FormKeyUp(TObject *Sender, WORD &Key,
      TShiftState Shift)
{
if (Key==VK_F2) 
{
ShowMessage("нажали f2");
N9Click->Click();
}
if (Key==VK_ESCAPE)
{
ShowMessage(" нажали Esc");
N*Click->Click();// вместо * номер кнопки... по аналогии как выше...
}
}
//---------------------------------------------------------------------------
при запуске программы билдер сразу ругается на начало ф-ции
0
5 / 5 / 2
Регистрация: 12.02.2012
Сообщений: 44
02.03.2012, 22:29
что именно пишет?
0
0 / 0 / 0
Регистрация: 13.02.2012
Сообщений: 26
02.03.2012, 22:51  [ТС]
Цитата Сообщение от Limit-ED-itioN Посмотреть сообщение
FormKeyUp
это что??

Добавлено через 19 минут
Цитата Сообщение от Limit-ED-itioN Посмотреть сообщение
что именно пишет?
[C++ Error] Unit1.cpp(20): E2316 '_fastcall TForm1::FormKeyUp(TObject *,unsigned short &,TShiftState)' is not a member of 'TForm1'
[C++ Error] Unit1.cpp(20): E2141 Declaration syntax error
[C++ Error] Unit1.cpp(30): E2190 Unexpected }
[C++ Error] Unit1.cpp(30): E2190 Unexpected }
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
02.03.2012, 22:53
Цитата Сообщение от mazahaka2401 Посмотреть сообщение
это что??
mazahaka2401, это - F1 .
И вот это
[C++ Error] Unit1.cpp(20): E2316 '_fastcall TForm1::FormKeyUp(TObject *,unsigned short &,TShiftState)' is not a member of 'TForm1'
надо не копировать и вставлять, а создать обработчик в инспекторе объектов и вставить туды код.
А вот это
[C++ Error] Unit1.cpp(30): E2190 Unexpected }
[C++ Error] Unit1.cpp(30): E2190 Unexpected }
- разберитесь со скобками - где, сколько, для чего, есть ли пара.
А если короче - надо книгу.
0
0 / 0 / 0
Регистрация: 13.02.2012
Сообщений: 26
02.03.2012, 23:02  [ТС]
Цитата Сообщение от LK Посмотреть сообщение
mazahaka2401, это - F1 .
И вот этонадо не копировать и вставлять, а создать обработчик в инспекторе объектов и вставить туды код.
А вот это- разберитесь со скобками - где, сколько, для чего, есть ли пара.
А если короче - надо книгу.
хотелось бы поподробнее про обработчик.
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
02.03.2012, 23:07
Поподробнее:
Архангельский А.Я. Программирование в С++ Builder.
Есть в сети.
0
0 / 0 / 0
Регистрация: 13.02.2012
Сообщений: 26
02.03.2012, 23:13  [ТС]
Цитата Сообщение от LK Посмотреть сообщение
Поподробнее:
Архангельский А.Я. Программирование в С++ Builder.
Есть в сети.
я конешно понимаю , что не всё легко даётся но мне сейчас это нужно по быстрому сделать.
нет времени читать книгу.
помоги пожалуйста, если ты разбираешься то у тебя это много времени не займёт.
0
5 / 5 / 2
Регистрация: 12.02.2012
Сообщений: 44
02.03.2012, 23:18
С лева на екране 2 маленьких окошка, в нижнем - много параметров, внимательней прочти что я написал и сделай так же
0
0 / 0 / 0
Регистрация: 13.02.2012
Сообщений: 26
02.03.2012, 23:19  [ТС]
Цитата Сообщение от Limit-ED-itioN Посмотреть сообщение
С лева на екране 2 маленьких окошка, в нижнем - много параметров, внимательней прочти что я написал и сделай так же
я знаю какие это 2 окошка я не понял с обработчиком.
0
5 / 5 / 2
Регистрация: 12.02.2012
Сообщений: 44
02.03.2012, 23:20
Цитата Сообщение от mazahaka2401 Посмотреть сообщение
skype есть??? так проще будет общаться
может по телефону еще?!
0
 Аватар для BRcr
4043 / 2333 / 292
Регистрация: 03.02.2011
Сообщений: 5,066
Записей в блоге: 10
02.03.2012, 23:21
Цитата Сообщение от mazahaka2401 Посмотреть сообщение
я конешно понимаю , что не всё легко даётся но мне сейчас это нужно по быстрому сделать.
нет времени читать книгу.
Тогда надо по-быстрому прочитать главу 5.3.2 События клавиатуры в указанной книге. Времени займет - максимум полчаса, крайне внимательно вчитываясь.
1
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
02.03.2012, 23:24
mazahaka2401, ну вот почему у меня нашлось время не только картинки посмотреть, но и прочитать большинство из 1000-с-чем-то страниц, а у вас нет?

По поводу обработчика:
- слева в Билдере есть Инспектор объектов
- в Инспекторе объектов есть вкладка Events/События
- в дизайнере кликаете на свободном месте в форме
- переходите на вкладку Events/События , которая уже отображает необходимые события для формы
- на этой вкладке должно быть что-нибудь со словами KeyUp
- делаете двойной клик мышью справа от этих слов
- в редакторе кода должны получить готовую заготовку - обработчик события OnFormKeyUp, вот такую:
C++
1
2
3
4
5
void __fastcall TForm1::FormKeyUp(TObject *Sender, WORD &Key,
      TShiftState Shift)
{
  //...
}
Вместо точек вставляете свой код.
0
5 / 5 / 2
Регистрация: 12.02.2012
Сообщений: 44
02.03.2012, 23:25
захадиш в окошке - Events - OnKeyUp

(справа будут пустые ячейки), напротив OnKeyUp жмешь мышкой дваждыи открывается текст программ
вставляешь туда
C++
1
2
3
4
5
6
7
8
9
10
if (Key==VK_F2) 
{
ShowMessage("нажали f2");
N9Click->Click();
}
if (Key==VK_ESCAPE)
{
ShowMessage(" нажали Esc");
N*Click->Click();// вместо * номер кнопки... по аналогии как выше...
}
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
02.03.2012, 23:27
mazahaka2401, скайп есть, тарификация консультаций посекундная, консультации предоставляются круглосуточно - можете просто не выключать скайп, ложась спать. Предоплата 100% .
1
0 / 0 / 0
Регистрация: 13.02.2012
Сообщений: 26
02.03.2012, 23:34  [ТС]
всем спасибо с обработчиком разобрался но теперь новая проблема

[C++ Error] Unit1.cpp(142): E2288 Pointer to structure required on left side of -> or ->*
[C++ Error] Unit1.cpp(147): E2288 Pointer to structure required on left side of -> or ->*
0
5 / 5 / 2
Регистрация: 12.02.2012
Сообщений: 44
02.03.2012, 23:36
Цитата Сообщение от mazahaka2401 Посмотреть сообщение
всем спасибо с обработчиком разобрался но теперь новая проблема

[C++ Error] Unit1.cpp(142): E2288 Pointer to structure required on left side of -> or ->*
[C++ Error] Unit1.cpp(147): E2288 Pointer to structure required on left side of -> or ->*
N*Click->Click();// вместо * номер кнопки...
тобеж * замени на 9 или 10 или какая у тебя она там по счету
0
0 / 0 / 0
Регистрация: 13.02.2012
Сообщений: 26
02.03.2012, 23:38  [ТС]
Цитата Сообщение от Limit-ED-itioN Посмотреть сообщение
N*Click->Click();// вместо * номер кнопки...
тобеж * замени на 9 или 10 или какая у тебя она там по счету
я заменил сразу на номера тех которые должны нажиматься клавишами клавиатуры .
Миниатюры
Как можно присвоить клавишу к пунктам MainMenu  
0
5 / 5 / 2
Регистрация: 12.02.2012
Сообщений: 44
02.03.2012, 23:43
работаете с объектом или с указателем?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
02.03.2012, 23:43
Помогаю со студенческими работами здесь

Как можно заблокировать MainMenu?
Как можно заблокировать MainMenu? Меню должно быть видно,а не скрыто как в VISIBLE!!

Присвоить горячую клавишу
Уважаемые подскажите пожайлуста Как можно програмно прописать,чтоб к примеру нажатием на клавишу F4-открыть какую либо форму.

Как можно установить свойство visible на пунктах компонента MainMenu через цикл?
Как можно установить свойство visible на пунктах компонента MainMenu через цикл? Идет запрос к БД, в результате получаем данные N1,...

Можно ли как-то в коде подключить клавишу мыши к батнику (.bat)
Здраствуйте, нуждаюсь в помоще) задали курсовую по мышке, должен придумать задание сам. От думал думал и придумал Как мне програмно...

Как в этом коде textbox'a сделать,чтобы можно было нажимать клавишу backspace (стереть)?
нужно доработать код,чтобы клавиша backspace была активна(в текстбоксе работала) private void TextBox1_KeyPress(object sender,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru