Как клавише клавиатуры присвоить действие - вопрос №87704
У меня 2 вопроса: 1)У меня например есть определенная папка с картинками и мне нужно чтобы при нажатие на кнопку открывалась картинка и я мог переключать между ними посредствои действий Вперед и Назад. Так вот как такое реализовать?! 2) Как сделать тоже самое только на клавиши клавиатуры.
Желательно с кодом т.к в делфи занялся совсем недавно. Спасибо))
В комплект поставки Delphi входит модуль JPEG. Он позволяет работать с изображениями в формате JPEG. Эта программа открывает выбранный файл и выводит изображение на форму.
<strong>uses</strong> Jpeg;<br <br <strong>procedure</strong> TForm1.Button1Click(Sender: TObject);<br <strong>var</strong><br JpegIm: TJpegImage;<br bm: TBitMap;<br <strong>begin</strong><br <strong>if</strong> OpenDialog1.Execute = false <strong>then</strong><br Exit;<br bm := TBitMap.Create;<br JpegIm := TJpegImage.Create;<br JpegIm.LoadFromFile(OpenDialog1.FileName);<br bm.Assign(JpegIm);<br Image1.Picture.Bitmap := bm;<br bm.Destroy;<br JpegIm.Destroy;<br <strong>end</strong>;<br <br Далее. Вам нужно только загружать следующую кратинку при нажатии на кнопки. Для этого Вам нужно <br сделать выбор папки и загрузку всех файлов из папки(путь к файлам в список) и при нажатии просто <br выбирать следующий или предыдущий путь.<br <br <a href="http://www.delphisources.ru/pages/faq/base/files_search.html">Ссылка</a>, как получить фсе файлы из папки.<br <br 2. У формы есть событие KeyDown, где пишем<br <br procedure TfrmMain.FormKeyDown(Sender: TObject; var Key: Word;<br Shift: TShiftState);<br begin<br case Key of<br VK_LEFT: {тут что-то делаем: вызываем процедуру, что висит на кнопке, btnModem.Click;} ;<br VK_RIGHT: {тут что-то делаем: вызываем процедуру, что висит на кнопке, btnModem.Click;} ;<br end;<br <br end;<br <br
2. В свойстве формы нужно поставить KeyPreview = true. ТОгда будет срабатывать всегда при нажатии на клавишу влево. Это вызов той же процедуры, но через клавишу
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
case key of
VK_LEFT: Button1.Click;
end;
end;