![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 10.10.2007
Сообщений: 3
|
![]()
Вот листинг моей проги: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; procedure Button1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin button1.SetFocus; if key = VK_Left then button1.left:=Button1.left-10 ; end; end. Кнопка Button1 при нажатии клавиши не двигается. В чём моя ошибка?
|
![]() |
![]() |
![]() |
#2 |
C# developer
Форумчанин
Регистрация: 03.10.2007
Сообщений: 393
|
![]()
вот правильный листинг, если хочешь чтобы двигалась много раз - зацикли
![]() unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; procedure onleftkeydown(Sender: TObject; var Key: Word; Shift: TShiftState); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.onleftkeydown(Sender: TObject; var Key: Word; Shift: TShiftState); begin form1.Button1.SetFocus; if key =32 then form1.Button1.Left:=left+10; end; end.
I like WPF
|
![]() |
![]() |
![]() |
#3 | |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
![]() Цитата:
Код:
Обрабатывать нужно событие TForm1.OnKeyDown: Код:
|
|
![]() |
![]() |
![]() |
#4 | |
Регистрация: 10.10.2007
Сообщений: 3
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#5 |
Регистрация: 10.10.2007
Сообщений: 3
|
![]() |
![]() |
![]() |
![]() |
#6 | |
Форумчанин
Регистрация: 15.10.2007
Сообщений: 147
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#7 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
![]() |
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 15.10.2007
Сообщений: 147
|
![]()
Да, тёзка, вы правы.
![]() Исправляюсь: В редакторе кода Delphi, в теле функции, вводим переменную (i:integer), после чего пишем код "i:=VK_" и уже ТУТ нажимаем Ctrl+space Сама функция может быть любой, например такой: (красным помечено то, чего мы не писали) Код:
Вариант 1: Ctrl+Click на слове "VK_LEFT" откроет модуль windows.pas и пролистает его в редакторе кода до строки, в которой "VK_LEFT" и определён. Вариант 2: Открыть файл windows.pas любым текстовым редактором и найти позицию самостоятельно. После (для обоих вариантов) ,рассмотрев объявления констант , можно делать с ними то, что душе угодно. Например, код клавиши "Esc": VK_ESCAPE = 27;, а "стрелки вниз": VK_DOWN = 40; Можно скопировать этот участок текста (который с "VK_"), и сохранить в файл... И т.д. ![]() |
![]() |
![]() |
![]() |
#9 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
![]()
И все же. Видимо, зависит от версии?
Как вам понравится такой ответ дельфей у меня: "Code Insight(tm) features are disabled while debugging" |
![]() |
![]() |
![]() |
#10 | |
Форумчанин
Регистрация: 15.10.2007
Сообщений: 147
|
![]()
От версии зависит вот так: "на любой, начиная по крайней мере с пятой".
Ваш ответ Цитата:
![]() |
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
перемещение формы | Черничный | Общие вопросы Delphi | 11 | 10.12.2009 11:06 |
Перемещение кнопки? | &RiU | Общие вопросы Delphi | 1 | 28.05.2008 18:13 |
UCOZ: Кнопки кнопки на изображении | ReDuX | HTML и CSS | 19 | 25.04.2008 02:39 |
триггерные кнопки и кнопки переключатели в DELPHI | MARGO | Помощь студентам | 3 | 12.11.2007 17:35 |
Перемещение файлов | Nasya | Microsoft Office Excel | 2 | 13.10.2007 20:37 |