Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

VCL: (ssCtrl in shift); KOL: ? [Delphi, Windows]


Revolter ©   (2003-09-17 15:05:00) 

в VCL обработчик события нажатие клавиши Ctrl: (ssCtrl in shift), а как в KOL?


Gandalf   (2003-09-20 20:14:00) [1]

На самом деле можешь скажем сделать так:

TShiftStates=(ssRes1,ssRes2,ssShift,ssCtrl,ssRes3,ssAlt);
TShiftState=set of TShiftStates;

Ну и привидя тип TShiftState(Shift) можешь работать как с множеством.

(ssCtrl in TShiftState(shift))


Revolter   (2003-09-20 18:46:00) [2]

как сложно, однако..

спасибо


Gandalf   (2003-09-20 10:31:00) [3]

Можно так:

procedure TForm1.ListBox1KeyDown(Sender: PControl; var Key: Integer;
 Shift: Cardinal);
begin
 if (Shift and 4)=4 then
 begin
   ListBox1.Items[0]:='Shift +';
 end
 else
 begin
   ListBox1.Items[0]:='Shift -';
 end;

 if (Shift and 8)=8 then
 begin
   ListBox1.Items[1]:='Ctrl +';
 end
 else
 begin
   ListBox1.Items[1]:='Ctrl -';
 end;

 if (Shift and 32)=32 then
 begin
   ListBox1.Items[2]:='Alt +';
 end
 else
 begin
   ListBox1.Items[2]:='Alt -';
 end;

end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо