Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 28.11.2006, 19:20
Delphinic Delphinic вне форума
Начинающий
 
Регистрация: 20.11.2006
Сообщения: 134
Репутация: 15
По умолчанию Горячие клавиши.

Расскажите пожалуйста как организовать вызов по клавише например F4 редактор файла который выбран в CheckListBox?
Тоесть стоит курсор в CheckListBox-е на первом файле наприме. Нажав F4 надо содержимое файла вывести например в ListBox.
Искал искал по инету но толком ничего нет, все вокруг да около.
Ответить с цитированием
  #2  
Старый 28.11.2006, 20:02
ART ART вне форума
Продвинутый
 
Регистрация: 13.02.2006
Адрес: Магнитогорск
Сообщения: 669
Репутация: 14745
По умолчанию

procedure TForm1.CheckListBox1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=vk_F3 then begin
listbox1.items.LoadFromFile(checklistbox1.Items.St rings[CheckListBox.ItemIndex]);
end;
end;
Ответить с цитированием
  #3  
Старый 28.11.2006, 20:09
Аватар для Decoding
Decoding Decoding вне форума
Местный
 
Регистрация: 03.06.2006
Адрес: Почту найдете на моем сайте
Сообщения: 576
Версия Delphi: D10.2
Репутация: 214
По умолчанию

Или используй компонент ActionList со вкладки Standard. Кинь его на форму, дважды щелкни по нему мышью, в появившемся редакторе создай новый Action (клавиша Insert). В свойстве ShortCut укажи F4, а в событии onExecute напиши нужный код.
Ответить с цитированием
  #4  
Старый 28.11.2006, 20:10
CyberM@D CyberM@D вне форума
Прохожий
 
Регистрация: 07.11.2006
Адрес: г.Санкт-Петербург
Сообщения: 31
Репутация: 10
Подмигивание

Цитата:
Сообщение от ART
procedure TForm1.CheckListBox1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=vk_F3 then begin
listbox1.items.LoadFromFile(checklistbox1.Items.St rings[CheckListBox.ItemIndex]);
end;
end;

Все верно, но это предполагает, что в Листбоксе указан путь к файлу, а если нет? Примечание: Человек просил по F4, то есть key=vk_F4.
Ответить с цитированием
  #5  
Старый 28.11.2006, 20:42
Delphinic Delphinic вне форума
Начинающий
 
Регистрация: 20.11.2006
Сообщения: 134
Репутация: 15
По умолчанию

Cпасиб огромное! Проще простого! Запишу в тетрадку!
Ответить с цитированием
  #6  
Старый 28.11.2006, 22:16
Delphinic Delphinic вне форума
Начинающий
 
Регистрация: 20.11.2006
Сообщения: 134
Репутация: 15
По умолчанию

Интересно.. На CheckListBox-e пашет отменно, но на форме нехочет.
Все компилируется но не пашет.
И в эвентсах указано все что надо на форме.
Ответить с цитированием
  #7  
Старый 28.11.2006, 23:19
CyberM@D CyberM@D вне форума
Прохожий
 
Регистрация: 07.11.2006
Адрес: г.Санкт-Петербург
Сообщения: 31
Репутация: 10
Стрелка

Что значит "на форме" - опиши подробнее...
Ответить с цитированием
  #8  
Старый 28.11.2006, 23:37
Аватар для Decoding
Decoding Decoding вне форума
Местный
 
Регистрация: 03.06.2006
Адрес: Почту найдете на моем сайте
Сообщения: 576
Версия Delphi: D10.2
Репутация: 214
По умолчанию

Попробуй установить свойство формы KeyPreview в true.
Ответить с цитированием
  #9  
Старый 29.11.2006, 01:08
Delphinic Delphinic вне форума
Начинающий
 
Регистрация: 20.11.2006
Сообщения: 134
Репутация: 15
По умолчанию

Адличнинька!!! Заработало! Блин, столько тонкостей, хрен где это прочтешь. Только вот спрашивать остается у знающих!

Спасибо!
Ответить с цитированием
  #10  
Старый 06.12.2006, 01:01
Delphinic Delphinic вне форума
Начинающий
 
Регистрация: 20.11.2006
Сообщения: 134
Репутация: 15
По умолчанию

Все хорошо только немогу никак сделать Ctrl+F10
Какие условия я только не делал..
If (key = Vk_F10) and (key=vk_control) Then Begin

И делал так

if Key=vk_F10+vk_control then begin

и по всякому
и не работает
Подскажите плиз.
Ответить с цитированием
  #11  
Старый 06.12.2006, 07:24
Аватар для Decoding
Decoding Decoding вне форума
Местный
 
Регистрация: 03.06.2006
Адрес: Почту найдете на моем сайте
Сообщения: 576
Версия Delphi: D10.2
Репутация: 214
По умолчанию

Код:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
   if ( ssCtrl in Shift ) and ( Key = VK_F10 ) then
      ShowMessage( '' );
end;
Хотя лучше это делать через ActionList (см. выше)
Ответить с цитированием
  #12  
Старый 06.12.2006, 16:14
Delphinic Delphinic вне форума
Начинающий
 
Регистрация: 20.11.2006
Сообщения: 134
Репутация: 15
По умолчанию

Окей. спасибо, попробовал акшн лист, понравилось.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 00:43.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter