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

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

02.03.2012, 21:10. Показов 3797. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
1С: Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru