| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > VB6 > Need Help |
| Автор: AL.exe 13.5.2003, 21:17 |
| Пожалуйста, помогите: 1) Как привязывать горячие клавиши (VB6) 2) Какая существует команда для копирования текста из окна (Text1.text, например) в буфер обмена? Заранее большое спасибо |
| Автор: vickr 14.5.2003, 22:39 | ||
1) Если ты имеешь в виду горячие клавиши для пунктов меню то ответ следующий - открываешь MenuEditor, создаешь пункт меню и выбираешь в выпадающем списке Shortcut нужную комбинацию клавиш; 2) Пример кода: Call Clipboard.SetText(Text1.Text) Text2.Text = Clipboard.GetText() |
| Автор: AL.exe 15.5.2003, 21:54 |
| Спасибо большое! А можно привязывать клавиши клавиатуры к кнопкам Command? |
| Автор: valex13 19.5.2003, 04:09 |
| Можно. Для этого в редакторе кода в левом списке выбери форму, а в правом списке выбери KeyDown. VB за тебя создаст процедуру обработки клавиатуры: Должно получиться следующее 'Ура. Вышло Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) End Sub А дальше навешиваю любые обработки. |
| Автор: amt 11.11.2004, 21:21 | ||
valex13
Насколько я понял в этой процедуре надо перехватываь нажатие клавиш и прописывать какоето действие. Я так пробовал, но не получается. При запуске формы фокус получает кокой-либо объект управления и форма не реагирует на нажатия клавишь. Если использовать процедуру Sub Command_KeyDown(KeyCode As Integer, Shift As Integer), то можно добиться результата. Но это неудобно: приходится прописывать события для всех объектов формы, способных получить фокус. Может я что-то не то делая? Подскажи, плиз. |
| Автор: -Mikle- 11.11.2004, 22:32 |
| Установи свойство KeyPreview=True у формы, тогда все нажатия клавиш, назависимо от того какой контрол в фокусе, будут приходить сначала на форму. |
| Автор: amt 12.11.2004, 12:10 |
| Еще вопрос. Есть контрол Command1, для которого описывается событие Click. Как сделать (не переписывая заново код для Command1_Click), что бы событие Form_KeyDown по нажатии клавиши вызывало событие Command1_Click |
| Автор: Akina 12.11.2004, 12:23 |
| private sub Form_KeyDown() call Command1_Click end sub |
| Автор: amt 12.11.2004, 12:29 |
| Спасибо!!! |
| Автор: Akina 12.11.2004, 12:40 |
| amt Не налети на зацикливание обработчика ошибок... |
| Автор: amt 12.11.2004, 20:56 | ||
| Спасибо за совет. Код у меня не сверх замороченный и вроде крутых ошибок возникать не должно. Пока все работает. Кстати Akina, твой код
я получил в тот момент когда уже сам догнал что нужно и я запустил процедуру без call. Но все равно спасибо. |