Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.02.2011, 11:45   #1
casio23
Форумчанин
 
Аватар для casio23
 
Регистрация: 29.12.2010
Сообщений: 186
Плохо Как обработать обработчик клавиши UP?

Добрый день подскажите как обработать событие нажатия клавиши Up?
На форме лежат компоненты ListBox1 и Label1, в ListBox1 - 5 записей, изначально Label1 свойство Transpared := True; когда я нажимаю на клавишу Down(этот обработчик я написал) то Label1.Transpared := False;
для клавиши UP должно быть
когда в ListBox1 переместился на 1ю(нужно 2 раза нажать вверх -1раз перейти вверх на 1строку, 2 раз перейти на Label1) строку то
Label1.Transpared := True;
в ListBox1 в 1й строке выделении должно быть снято

Подскажите пожалуйста как это сделать?
casio23 вне форума Ответить с цитированием
Старый 07.02.2011, 12:52   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Цитата:
когда в ListBox1 переместился на 1ю
Код:
if listbox.itemindex =0 then //нумерация строк в Listbox (и не только) начинается с нуля.
Цитата:
в ListBox1 в 1й строке выделении должно быть снято
Код:
ListBox1.ItemIndex:=-1;
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 07.02.2011, 14:06   #3
casio23
Форумчанин
 
Аватар для casio23
 
Регистрация: 29.12.2010
Сообщений: 186
По умолчанию

Цитата:
Сообщение от evg_m Посмотреть сообщение
Код:
if listbox.itemindex =0 then //нумерация строк в Listbox (и не только) начинается с нуля.

Код:
ListBox1.ItemIndex:=-1;


if listbox.itemindex =0 then ........ перемещение работает,а вот только не работает снятие выделения ListBox1.ItemIndex:=-1;
casio23 вне форума Ответить с цитированием
Старый 07.02.2011, 22:27   #4
asmodey1
Подтвердите свой е-майл
 
Регистрация: 19.12.2010
Сообщений: 808
По умолчанию

Код:
procedure TForm1.ListBox1KeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
if key=VK_UP then
if Listbox1.ItemIndex=0 then
Listbox1.ItemIndex:=-1;
end;
Не работает ???
asmodey1 вне форума Ответить с цитированием
Старый 08.02.2011, 01:42   #5
ArtGrek
DelphiProger
Участник клуба
 
Аватар для ArtGrek
 
Регистрация: 14.11.2010
Сообщений: 1,023
По умолчанию

Код:
procedure TForm1.ListBox1KeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if Key = VK_DOWN then Label1.Transparent := False;
  if (Key = VK_UP) and (ListBox1.ItemIndex = 0) then Label1.Transparent := True;
end;

end.
P.S. не забудь поставить цвет у лабел отличныи от формы, что б видеть еффект Transparent
VirusN13
ArtGrek вне форума Ответить с цитированием
Старый 08.02.2011, 13:00   #6
casio23
Форумчанин
 
Аватар для casio23
 
Регистрация: 29.12.2010
Сообщений: 186
Печаль

Цитата:
Сообщение от asmodey1 Посмотреть сообщение
Код:
procedure TForm1.ListBox1KeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
if key=VK_UP then
if Listbox1.ItemIndex=0 then
Listbox1.ItemIndex:=-1;
end;
Не работает ???
выделение с Listbox1 с 1й строки снимается,а вот Label.Transpared := True не работает

Последний раз редактировалось casio23; 08.02.2011 в 13:14. Причина: не правильно написал
casio23 вне форума Ответить с цитированием
Старый 08.02.2011, 13:27   #7
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Цитата:
Цитата:
Сообщение от asmodey1 Посмотреть сообщение
Код:


procedure TForm1.ListBox1KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=VK_UP then
if Listbox1.ItemIndex=0 then
Listbox1.ItemIndex:=-1;
end;

Не работает ???
выделение с Listbox1 с 1й строки снимается,а вот Label.Transpared := True не работает
а где в приведенном коде это
Цитата:
Label.Transpared := True
чтобы оно работало.
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 08.02.2011, 13:29   #8
casio23
Форумчанин
 
Аватар для casio23
 
Регистрация: 29.12.2010
Сообщений: 186
Плохо

Цитата:
Сообщение от casio23 Посмотреть сообщение
выделение с Listbox1 с 1й строки снимается,а вот Label.Transpared := True не работает
сори работает все, вот только немножко не так как нужно
снятие выделения с Listbox1 происходит сразу же как только доходит к 1 строке, а нужно вот так - как только itemindex=0 сразу не снималось выделения,а после второго раза нажатия вверх снималось itemindex:=-1
возможно так сделать?
casio23 вне форума Ответить с цитированием
Старый 08.02.2011, 19:53   #9
Vervolf
Пользователь
 
Аватар для Vervolf
 
Регистрация: 14.01.2011
Сообщений: 97
По умолчанию

Цитата:
Label.Transpared := True
вообще то не так! надо Label.Transparent:=true;
Vervolf вне форума Ответить с цитированием
Старый 08.02.2011, 21:12   #10
asmodey1
Подтвердите свой е-майл
 
Регистрация: 19.12.2010
Сообщений: 808
По умолчанию

Цитата:
Сообщение от casio23 Посмотреть сообщение
снятие выделения с Listbox1 происходит сразу же как только доходит к 1 строке, а нужно вот так - как только itemindex=0 сразу не снималось выделения,а после второго раза нажатия вверх снималось itemindex:=-1
возможно так сделать?
Тоды ой
Код:
var firststring: boolean;
...
procedure TForm1.ListBox1Click(Sender: TObject);
begin
firststring:=False;
end;

procedure TForm1.ListBox1KeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
if (key=VK_UP) then
if not firststring then
firststring:=True else
begin
Listbox1.ItemIndex:=-1;
Label1.Transparent:=True;
end;
end;
asmodey1 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как обработать нажатие клавиши когда курсор на объекте? БулатМастер Общие вопросы Delphi 2 28.02.2010 08:08
Деление на 0. Как обработать ошибку? Bravo Общие вопросы C/C++ 7 22.10.2008 02:30
Как обработать ошибку XAOC-forever Работа с сетью в Delphi 11 24.09.2008 20:13
Как обработать исключение? XPAiN БД в Delphi 9 16.05.2008 15:09