|
Вопрос # 4 337/ вопрос открыт / |
|
Доброго времени суток, уважаемые эксперты!
Как можно получить список действующих в данный момент горячих клавиш - как системных, так и пользовательских? Просмотром в редакторе реестра или можно программой ?
И в развитие этого вопроса : могу написать прогу, которая по горячей клавише заносит что-то в буфер, другая по другой г.к. - что-то другое, но это тупо, а нельзя ли в одной программе по разным ключам писать разные значения, например, Ctrl-Alt-1 - "First", Ctrl-Alt-2 -- "Second" etc.
Достаточно ли сумбурно изложил вопрос?
 |
Вопрос задал: Толяныч (статус: 4-ый класс)
Вопрос отправлен: 17 июня 2010, 10:34
Состояние вопроса: открыт, ответов: 1.
|
Ответ #1. Отвечает эксперт: Вадим К
Здравствуйте, Толяныч!
Просто так получить список всех зарегистрированных горячих клавиш, насколько мне известно - нельзя. Но есть обходные методы - об одном описано здесь http://wasm.ru/article.php?article=gui_subsystem (знание с++ и написания драйверов приветствуется:) ).
А вот с регистрацией своих клавиш для помещения в буфер чего то своего - это просто. Первая часть задачи разобрана людьми до мелочей - http://disketa.info/page.asp?page=doc&idd=2751&raz=6
Помещение в буфер обмена тоже не сложно в делфи.
в список uses добавляем модуль ClipBrd. Теперь у нас появляется глобальный объект Clipboard. Используем так
Поместить какой то текст с едита в буфер
Clipboard.AsText := Edit1.text;
забрать текст с буфера обмена
Edit1.text := Clipboard.AsText
Проверить, если в буфере что то похожее на текст
if Clipboard.HasFormat(CF_TEXT) then ShowMessage('Clipboard содержит текст') ;
Почему похоже? а можно скопировать текст с форматированием, красивый, а вставить как обычный текст - все само преобразуется.
А вот такой строкой можно даже картинку с TBitmap в буфер уложить
Clipboard.Assign(MyBitmap) ;
А дальше уже наверно по хелпу:)
 |
Ответ отправил: Вадим К (статус: Академик)
Время отправки: 17 июня 2010, 11:09
Оценка за ответ: 5
Комментарий к оценке: C Clipboard'ом работаю уже без проблем, сейчас засяду вникать в Hot Key. До того обленился заполнять формы, да и клавиатуру жалко :=)
|
Мини-форум вопроса
Всего сообщений: 1; последнее сообщение — 17 июня 2010, 10:40; участников в обсуждении: 1.
|
min@y™ (статус: Доктор наук), 17 июня 2010, 10:40 [#1]:
Цитата (Толяныч):
а нельзя ли в одной программе по разным ключам писать разные значения
Можно.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|