2010-08-09 3 views
4

В моем проекте VB6 я использую только элемент управления панелью инструментов в основном MDI From (Not menubar). Панель инструментов имеет большие изображения, обозначающие действия, такие как New, Save, View, Help и т. Д. Я хотел знать, есть ли способ создать короткую клавиатуру для этих действий. Насколько мне известно, свойства элемента управления панели управления MS Windows Common Controls 6.0 не показывают какой-либо относительной возможности для этого. Поскольку форма MDI не имеет каких-либо ключевых событий, я не могу создавать короткие сокращения, связывая ключи. Мне не нужна панель меню в моей форме, так как у нее очень мало элементов, поэтому работает только панель инструментов. Пожалуйста, предложите любую идею, чтобы иметь короткие сокращения для кнопок панели инструментов ......: - | Спасибо заранее .............Создание коротких сокращений клавиатуры для управления панелью инструментов в VB6

ответ

0

Один из способов заключается в использовании местного WH_KEYBOARD крюк, this article объясняет, как (и предоставляет библиотеку).

+0

Большое спасибо, что дало новые возможности моему проекту .... :-) Но я буду распространять свой проект под GNU GPL v3, и поскольку мне нужно развернуть vbalHook6.DLL вместе с приложением, я не уверен что такое условия лицензии vbaccelerator.com. Хорошо, если мне нужно развернуть мое приложение под несколькими лицензиями, так как я обязательно дам соответствующий кредит соответствующим авторам. – Kushal

0

Добавить ключевое событие в вашу форму. Затем вы можете обработать короткие сокращения, указав их на ту же функцию, которая была бы вызвана в событии mouse down для строки меню.

Например, вы могли бы иметь что-то вроде

public sub SaveItem_Clicked() 
    DoSave() 
end sub 

Тогда в чеке нажатие клавиши для Alt + S и т.д., и есть его называют DoSave()

+1

Хорошо, но когда мое приложение начинается, в нем отображается только основная форма MDI, которая не поддерживает какое-либо ключевое событие. Так как текущий MDI не имеет активных дочерних форм, и я хочу короткое сокращение (например, Ctrl + N), чтобы запустить «новую» дочернюю форму в MDI. Как вы предположили, я могу использовать Ctrl + S для сохранения изменений, внесенных в поля окна «Создать», поскольку эта форма является нормальной формой и, следовательно, поддерживает ключевые события, но как я могу получить короткие сокращения, работающие с формой MDI, имеющей только Панель инструментов без отображения дочерних форм ....? – Kushal