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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 01.04.2009, 22:22
Norw Norw вне форума
Прохожий
 
Регистрация: 03.11.2008
Адрес: Ростов
Сообщения: 39
Репутация: 10
По умолчанию Проблема с Shift-ом

Необходимо, чтоб процедура выполнялась только при нажатой клавише Shift. Как это реализовать?
__________________
кто знает общую теорию тот БОГ
Ответить с цитированием
  #2  
Старый 01.04.2009, 23:26
san-46 san-46 вне форума
Активный
 
Регистрация: 25.04.2008
Сообщения: 383
Репутация: 33
По умолчанию

Код:
//в начале процедуры
if GetAsyncKeyState(VK_SHIFT) = 0 then Exit;

//или обратное условие
if GetAsyncKeyState(VK_SHIFT) = -32767 then begin
  ... //операторы, выполняющиеся при нажатой кл. Shift
end;
Можно так же посмотреть в сторону функции GetKeyState
__________________
Не забывайте делать резервные копии
Ответить с цитированием
  #3  
Старый 02.04.2009, 00:30
Norw Norw вне форума
Прохожий
 
Регистрация: 03.11.2008
Адрес: Ростов
Сообщения: 39
Репутация: 10
По умолчанию

Пасибо. только теперь возникает следующая проблема... у меня по нажатию мыши должны выполняться несколько однотипных процедур, а выполняеться только первая из них. как сделать чтоб они выполнялись все?
__________________
кто знает общую теорию тот БОГ
Ответить с цитированием
  #4  
Старый 02.04.2009, 01:19
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Код обработчика нажатия мыши выложите.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #5  
Старый 02.04.2009, 10:14
san-46 san-46 вне форума
Активный
 
Регистрация: 25.04.2008
Сообщения: 383
Репутация: 33
По умолчанию

Чтобы какая-либо процедура выполнилась, необходимо ее вызвать.
__________________
Не забывайте делать резервные копии
Ответить с цитированием
  #6  
Старый 03.04.2009, 01:04
Norw Norw вне форума
Прохожий
 
Регистрация: 03.11.2008
Адрес: Ростов
Сообщения: 39
Репутация: 10
По умолчанию

вот процедура:
Код:
procedure nazg(Sender: TObject);
 var
  APanel : TPanel;
begin
   if GetAsyncKeyState(VK_SHIFT) = -32767 then
  If Sender Is TPanel Then
    Begin
      APanel := Sender As TPanel;

   if APanel.Color=clBtnFace  then APanel.Color := clYellow else APanel.Color :=clBtnFace;
   if APanel.Bevelouter =bvRaised then APanel.Bevelouter:=bvLowered else APanel.Bevelouter:=bvRaised;

    End;
end;



вот обработчик клика по кнопке:
Код:
procedure TForm3.Panel1Click(Sender: TObject);
begin
 nazg(Panel1);
 nazg(Panel93);
 nazg(Panel95);
 nazg(Panel99);
 nazg(Panel98);
 nazg(Panel92);
 nazg(Panel77);

 end;


по идее нажатие кнопки должно включать еще ряд других.... кнопки на основе компонента TPanel.
__________________
кто знает общую теорию тот БОГ
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

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